Esempio n. 1
0
    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])
Esempio n. 2
0
    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
Esempio n. 3
0
    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()
Esempio n. 4
0
    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)
Esempio n. 5
0
 def setUp(self):
     self.game = Play2048State()
     self.actions = Play2048Player.actions()
     self.moves = self.actions.values()
Esempio n. 6
0
 def setUp(self):
     self.game = Play2048State(SnakeGradient)
     self.moves = Play2048Player.actions().values()
Esempio n. 7
0
 def setUp(self):
     depth = 4
     self.minimax = Minimax(Play2048Player.actions(), depth)