Пример #1
0
 def test_adjust(self):
     robo = roboplayer.roboplayer()
     # Test if correct when O wins
     board_dict = {canonical_board('         ')[0]: [0, 1], canonical_board('X        ')[0]: [2, 3],
                   canonical_board('X  O     ')[0]: [2, 4], canonical_board('X XO     ')[0]: [4, 5],
                   canonical_board('X XOO    ')[0]: [1, 6], canonical_board('X XOO X  ')[0]: [5, 8]}
     move_list = [(canonical_board('         '), 0), (canonical_board('X        '), 3),
                  (canonical_board('X O      '), 2), (canonical_board('X XO     '), 4),
                  (canonical_board('X XOO    '), 1), (canonical_board('X XOO X  '), 5)]
     new_board_dict = robo.adjust(move_list, 'X XOOOX  ', board_dict)
     test_dict = {canonical_board('         ')[0]: [0, 1], canonical_board('X        ')[0]: [2, 3, 3],
                  canonical_board('X  O     ')[0]: [2, 4], canonical_board('X XO     ')[0]: [4, 5, 4],
                  canonical_board('X XOO    ')[0]: [1, 6], canonical_board('X XOO X  ')[0]: [5, 8, 5]}
     self.assertEqual(test_dict, new_board_dict)
     # Test if correct when X wins
     board_dict = {canonical_board('         ')[0]: [0, 1], canonical_board('X        ')[0]: [2, 3],
                   canonical_board('X  O     ')[0]: [2, 4], canonical_board('X XO     ')[0]: [4, 5],
                   canonical_board('X XOO    ')[0]: [1, 6]}
     move_list = [(canonical_board('         '), 0), (canonical_board('X        '), 3),
                  (canonical_board('X O      '), 2), (canonical_board('X XO     '), 4),
                  (canonical_board('X XOO    '), 1)]
     new_board_dict = robo.adjust(move_list, 'XXXO O   ', board_dict)
     test_dict = {canonical_board('         ')[0]: [0, 1], canonical_board('X        ')[0]: [2],
                  canonical_board('X  O     ')[0]: [2, 4], canonical_board('X XO     ')[0]: [5],
                  canonical_board('X XOO    ')[0]: [1, 6]}
     self.assertEqual(test_dict, new_board_dict)
Пример #2
0
 def __init__(self):
     self.robo = roboplayer.roboplayer()
     self.reset_board()
Пример #3
0
 def __init__(self):
     self.robo = roboplayer.roboplayer()
     self.reset_board()
Пример #4
0
        return self.board

    def add_move(self, board, input_move):
        self.moves[board] = input_move

    # Resets the board to blank
    def reset_board(self):
        self.moves = {}
        self.board = boardutils.empty_board()

if __name__ == '__main__':
    logging.basicConfig(level=logging.INFO)
    xTally = 0
    oTally = 0
    catTally = 0
    robo = roboplayer.roboplayer()
    for i in range(5001):
        game = SmartTacToe()
        while not boardutils.winner(game.board) and boardutils.winner(game.board) != 'Cat':
            if boardutils.to_move(game.board) == 'X':
                nextMove = robo.x_move(game.board)
                game.board = boardutils.set_move(game.board, nextMove, boardutils.to_move(game.board))
            else:
                nextMove = robo.o_move(game.board)
                game.board = boardutils.set_move(game.board, nextMove, boardutils.to_move(game.board))
            print boardutils.readable_board_string(game.board)
        winnerString = boardutils.winner(game.board)
        robo.adjust(game.board)
        if winnerString == 'X':
            xTally += 1
            break
Пример #5
0
    def add_move(self, board, input_move):
        self.moves[board] = input_move

    # Resets the board to blank
    def reset_board(self):
        self.moves = {}
        self.board = boardutils.empty_board()


if __name__ == '__main__':
    logging.basicConfig(level=logging.INFO)
    xTally = 0
    oTally = 0
    catTally = 0
    robo = roboplayer.roboplayer()
    for i in range(5001):
        game = SmartTacToe()
        while not boardutils.winner(
                game.board) and boardutils.winner(game.board) != 'Cat':
            if boardutils.to_move(game.board) == 'X':
                nextMove = robo.x_move(game.board)
                game.board = boardutils.set_move(
                    game.board, nextMove, boardutils.to_move(game.board))
            else:
                nextMove = robo.o_move(game.board)
                game.board = boardutils.set_move(
                    game.board, nextMove, boardutils.to_move(game.board))
            print boardutils.readable_board_string(game.board)
        winnerString = boardutils.winner(game.board)
        robo.adjust(game.board)