def find_shortest_path_with_cartesian_coordinates(self,
                                                   start_position: Position,
                                                   goal_position: Position):
     start_position = Position(start_position.get_y_coordinate(),
                               start_position.get_x_coordinate())
     goal_position = Position(goal_position.get_y_coordinate(),
                              goal_position.get_x_coordinate())
     return self._find_shortest_path(start_position, goal_position)
Ejemplo n.º 2
0
 def find_path_to_command_panel_zone(self, robot_position: Position) -> Path:
     position = self._game_table.get_puck_zone_center()
     position = Position(
         position.get_x_coordinate() - 45, position.get_y_coordinate()
     )
     return (
         self._shortest_path_algorithm.find_shortest_path_with_cartesian_coordinates(
             robot_position, position
         )
     )
Ejemplo n.º 3
0
    def _position_is_not_adjacent(self, position: Position):
        if len(self) < 1:
            return False

        path_last_position = self[-1]
        are_positions_adjacent_in_x = (
            abs(position.get_x_coordinate() -
                path_last_position.get_x_coordinate()) == 1)
        are_positions_adjacent_in_y = (
            abs(position.get_y_coordinate() -
                path_last_position.get_y_coordinate()) == 1)

        return not are_positions_adjacent_in_x != are_positions_adjacent_in_y
def take_x_coordinate(position: Position) -> int:
    return position.get_x_coordinate()
Ejemplo n.º 5
0
 def _are_positions_moving_horizontally(self, first_position: Position,
                                        second_position: Position) -> bool:
     return (abs(first_position.get_x_coordinate() -
                 second_position.get_x_coordinate()) == 1)