def setUp(self):
        reload(game_agent)

        player1 = MinimaxPlayer()
		player2 = MinimaxPlayer()
		game = Board(player1, player2)

		game.apply_move((2, 3))
		game.apply_move((0, 5))

		m1 = player1.get_move(game, 5)
		game.apply_move(m1)
		m2 = player2.get_move(game, 6)

		game.apply_move(m2)
def test1():
	player1 = MinimaxPlayer()
	player2 = MinimaxPlayer()
	game = Board(player1, player2)
	# game.apply_move((1,1))
	# game.apply_move((2,2))
	# print (game._board_state)
	# print(game.to_string())
	# print(len(game._board_state))

	explored = [9,11,12,14,15,16,17,20,24,25,29,30,33,38,39,44]
	for i in explored:
		game._board_state[i] = 1
	game._board_state[-1] = 17
	game._board_state[-2] = 9


	# game.apply_move((5, 3)) # player 1
	# game.apply_move((4, 2)) # player 2

	print (game.to_string())
	moves = game.get_legal_moves()
	print(moves)
	for m in moves:
		fm = game.forecast_move(m).get_legal_moves()
		print (str(m) + " -->" + str(fm))

	# player 1
	for m in moves:
		print (str(m) + " --> " + str(player1.score(game.forecast_move(m), player1)))
	print (player1.get_move(game, 6))
Exemple #3
0
    def test_minimax_valid(self):
        test_start = self.time_millis()
        time_left = lambda: 1000 - (self.time_millis() - test_start)

        minimax = MinimaxPlayer()
        board = Board(minimax, RandomPlayer())

        # Play two moves to make legal moves array much smaller
        board.apply_move(random.choice(board.get_legal_moves()))
        board.apply_move(random.choice(board.get_legal_moves()))

        self.assertIn(minimax.get_move(board, time_left),
                      board.get_legal_moves(minimax))