def keyReleaseEvent(self, e): # pylint: disable=invalid-name key = e.key() - 16777234 if key in self.move_keys and self.manual_mode: move = self.move_keys[key] moves = Play2048Player.actions() self.player.do_move(moves[move])
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)
def setUp(self): self.game = Play2048State() self.actions = Play2048Player.actions() self.moves = self.actions.values()
def setUp(self): self.game = Play2048State(SnakeGradient) self.moves = Play2048Player.actions().values()
def setUp(self): depth = 4 self.minimax = Minimax(Play2048Player.actions(), depth)