6#include "software/world/world.h"
26 std::optional<Angle> best_shot_angle;
29 std::optional<Point> best_shot_target;
35 int num_passes_to_get_possession;
38 std::optional<Robot> passer;
44 return this->robot == other.robot && this->has_ball == other.has_ball &&
45 this->goal_angle == other.goal_angle &&
46 this->best_shot_angle == other.best_shot_angle &&
47 this->best_shot_target == other.best_shot_target &&
48 this->num_passes_to_get_possession == other.num_passes_to_get_possession &&
49 this->passer == other.passer;
65 const std::vector<Robot> &possible_passers,
66 const std::vector<Robot> &possible_receivers,
const std::vector<Robot> &all_robots);
86std::optional<std::pair<int, std::optional<Robot>>> getNumPassesToRobot(
87 const Robot &initial_passer,
const Robot &final_receiver,
const Team &passing_team,
88 const Team &other_team);
98void sortThreatsInDecreasingOrder(std::vector<EnemyThreat> &threats);
117std::vector<EnemyThreat> getAllEnemyThreats(
const Field &field,
const Team &friendly_team,
119 bool include_goalie);
Definition enemy_threat.h:11