def do_move(self, move): state = (Play2048Player.move_id(move), list(self.game.board)) if self.game.move(move): self.game.next_state() if self.gui_worker: self.gui_worker.move_completed(state) return True return False
def do_move(self, move): if not self.gui.started: return state = (Play2048Player.move_id(move), list(self.game.board)) if self.gui.pickle_states: self.states.append(state) if self.game.move(move): self.game.next_state() if self.gui.take_screenshots: self.gui.screenshot.emit() self.gui.score_message.emit('Score: {}'.format(self.game.score)) if not self.game.is_possible(): self.gui.game_ended() self.gui.update()
def play_random(self): ended = False while not ended: new_game = self.game.copy_with_board(self.game.board) move = new_game.possible_moves[ self.mapping[ randint(0, 3) ] ] state = (Play2048Player.move_id(move), list(self.game.board)) if self.game.move(move): self.game.next_state() if self.gui_worker: self.gui_worker.move_completed(state) if not self.game.is_possible(): ended = True return max(self.game.board)