color = 'gray' for x in range(3): for y in range(3): newFrame = Cell((x, y), '<Button-1>', color) newFrame.grid(row=x + 1, column=y) frames[x][y] = newFrame if color == 'gray': color = 'white' else: color = 'gray' newFrame.message = message # Game loop. while True: if game.whoseTurn() == -1: if not game.gameOver(): move = algorithm.findBestMove(game.getGameState(), game.getIndex(), game.whoseTurn()) game.makeMove(move) frames[move[0]][move[1]].drawX() message.set('Make your move!') if game.gameOver(): if game.getWinner() == 1: message.set("You've won!") elif game.getWinner() == -1: message.set("You've lost!") else: message.set("Game tied!") tk.update()
from game import TicTacToe, getBestMove total_states = 0 game = TicTacToe() game.display() while not game.gameOver(): your_move = int( input('You are playing as X. Choose number between 1-9 (row-major): ')) game.makeMove(your_move - 1, 'X') game.display() if game.gameOver(): break print 'Now Computers turn...' c_move, count = getBestMove(game, 0, 'O') total_states += count game.makeMove(c_move, 'O') game.display() print 'GAME OVER..!' print 'WINNER is: ' + game.checkWhoWin() print 'States Explored: ', total_states