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)
def __init__(self): self.robo = roboplayer.roboplayer() self.reset_board()
def __init__(self): self.robo = roboplayer.roboplayer() self.reset_board()
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
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)