def act(self, game): new_robot = self.robot_id in self.robot_ids self.robot_ids.add(self.robot_id) self.current_state = State.from_game(game, self.player_id, robot_loc=self.location) self.game = game # Explore function if random.randint(0, 3) < 1: print("[Bot " + str(self.robot_id) + "] random action") # print self.state action = self.get_random_action() else: action = self.qlearning.predict(self.current_state) self.last_states[self.robot_id] = self.current_state self.last_action[self.robot_id] = action return State.map_action(action, self.location)