ClassDiagram
dynamic_object
rules
player
team
ball
field
referee
Agent
dir: int
x: float
y: float
r: float
color_agent: str
vx: float
vy: float
desired_vx: float
desired_vy: float
state: RelativeState
origin_angle: float
desired_angle: float
point_eye_left: Point
point_eye_right: Point
point_circle_hitbox: Point
reset_position()
reset_position_after_mid_game()
set_action(action: List[int])
move()
rotate()
next_position(): Point
is_outside_field(x: float, y: float, field_model: FieldModel): bool
cancel_movement()
update(field_model: FieldModel)
update_state(ball: Ball, allies_dict: Dict[str, Agent], opponents_dict: Dict[str, Agent])
get_observation(): ndarray
manage_shot_rotated(ball: Ball): bool
manage_collision_with_ball(ball: Ball): bool
Team
color_team: str
color_num_action_dict: Dict[str, int]
color_agent_dict: Dict[str, Agent]
_points: int
set_actions(action ,*args)
update(field_model: FieldModel)
update_state(ball: Ball, opponents_dict: Dict[str, Agent])
reset_position()
reset_position_after_mid_game()
manage_interaction_with_ball(ball: Ball): Agent
get_observation(ball: Ball): Dict[str, ndarray]
Ball
x: float
y: float
prev_x: float
prev_y: float
vx: float
vy: float
r: float
color: str
ball_is_shot(agent: Agent, power: float)
is_colliding(agent: Agent): bool
collision_with_player(agent: Agent)
collision_with_goal(field_model: FieldModel)
update_position_and_speed_after_collision_with_goal()
update(field_model: FieldModel)
get_dist(agent: Agent): float
reset_position()
FieldModel
_field_specification: FieldSpecification
_field_width: float
_field_height: float
_scale_meter: float
_field_x: float
_field_y: float
_field_play_area_width: float
_field_play_area_height: float
_field_play_area_x: float
_field_play_area_y: float
_field_line_density: float
side_line_data: Dict[str, float]
middle_line_data: Dict[str, float]
penalty_area_data: Dict[str, float]
goal_area_data: Dict[str, float]
goal_data: Dict[str, float]
scale_meter(): float
field_play_area_x(): float
field_play_area_y(): float
field_play_area_width(): float
field_play_area_height(): float
field_x(): float
field_y(): float
field_width(): float
field_height(): float
field_line_density(): float
Referee
team_left: Team
team_right: Team
ball: Ball
last_touched: Agent
field_model: FieldModel
penalty_collision_enable: bool
collision_enable: bool
is_collision_between_agent_left(): bool
is_collision_between_agent_right(): bool
is_collision_between_team(): bool
is_agent_outside_sideline(agent: Agent): bool
is_agent_outside_goal_line(agent: Agent): bool
is_ball_outside_sideline(): bool
is_ball_outside_goal_line(): bool
is_goal(): int
update_referee(team_left: Team, team_right: Team, ball: Ball, last_touched: Agent)
+referee
+fieldModel
0..1
0..1
+referee
+team
0..1
0..1
+team
+agent
0..1
0..1
+referee
+ball
0..1
0..1