Exemple #1
0
 def get_next_state(self, player_id: int, state: State, action: int):
     next_state = State.from_state(state)
     angle = self.calculate_new_angle(state.get_angle(player_id), action)
     next_state.set_angle(player_id, angle)
     position = self.calculate_new_position(state.get_position(player_id),
                                            angle)
     next_state.set_position(player_id, position)
     self.draw_circle(next_state.get_board(), self.head_colors[player_id],
                      self.get_head_position(position, angle),
                      self.head_radius)
     self.draw_circle(next_state.get_board(), state.colors[player_id],
                      position, self.player_radius)
     # TODO: Look into saving in designated memory space by specifying destination of copy.
     return next_state