def run(self): player = self.process_client.login(3) map_graph = self.process_client.read_map() objects = self.process_client.read_objects() strategy = Strategy(player, map_graph, objects) if self.is_gui: self.gui = GUI(player, map_graph, objects) while player.is_alive: if self.is_gui: self.gui.turn() if ((not self.gui.paused) or self.gui.onestep): moves = strategy.get_moves() if moves: for move in moves: self.process_client.move(move) self.process_client.turn() else: moves = strategy.get_moves() if moves: for move in moves: self.process_client.move(move) self.process_client.turn() sleep(0.5) return player.is_alive # for testing
def run(self): status, start_data = self.remote_process_client.login(self.name) try: map_graph = self.remote_process_client.read_map() objects = self.remote_process_client.read_objects() strategy = Strategy(start_data) while strategy.in_progress: self.remote_process_client.update_objects(objects) moves = strategy.get_moves(objects, map_graph) if moves: for move in moves: self.remote_process_client.move(move) self.remote_process_client.turn() finally: self.remote_process_client.logout() self.remote_process_client.close()