Program in Python 3 must use Tkinter
Sections 12.7-12.1 *12.5 (Game: Tic-tac-toe) Write a program that plays the tic-tac-toe game. Two players take turns clicking an available cell in a 3 x 3 grid with their respective tokens (either X or O). When one player has placed three tokens in a horizontal, vertical, or diagonal row on the grid, the game is over and that player has won. A draw (no winner) occurs when all the cells in the grid have been filled with tokens and nei- ther player has achieved a win. Figure 12.17 shows the representative sample runs of the example. TicTacToe Kwon! The game is over Draw! The game is over O won! The game is over (a) The X player won the game (b) Draw-no winners () The O player won the game FicURE 12.17 Two players play a tic-tac-toe game. Assume that all the cells are initially empty, and that the first player takes the token and the second player the O token. To mark a cell, the player points the mouse to the cell and clicks it. If the cell is empty, the token (X or O) is displayed If the cell is already filled, the player's action is ignored. Define a custom class named Cel1 that extends Labe1 for displaying a token and for responding to the button-click event. The class contain three possible values '.X, and o- that denote whether the cell has be pied and which token is used in the cell if it is occupied The three image files x.gif, o.gif, and empty gif can be ob cs.armstrong.edu/liang/py/book.zip in the image folder. Use these three a data field token with occu- to display the X, O, and empty cells tarsect) Using the Circle2D class you defined in ver Sections 12.7-12.1 *12.5 (Game: Tic-tac-toe) Write a program that plays the tic-tac-toe game. Two players take turns clicking an available cell in a 3 x 3 grid with their respective tokens (either X or O). When one player has placed three tokens in a horizontal, vertical, or diagonal row on the grid, the game is over and that player has won. A draw (no winner) occurs when all the cells in the grid have been filled with tokens and nei- ther player has achieved a win. Figure 12.17 shows the representative sample runs of the example. TicTacToe Kwon! The game is over Draw! The game is over O won! The game is over (a) The X player won the game (b) Draw-no winners () The O player won the game FicURE 12.17 Two players play a tic-tac-toe game. Assume that all the cells are initially empty, and that the first player takes the token and the second player the O token. To mark a cell, the player points the mouse to the cell and clicks it. If the cell is empty, the token (X or O) is displayed If the cell is already filled, the player's action is ignored. Define a custom class named Cel1 that extends Labe1 for displaying a token and for responding to the button-click event. The class contain three possible values '.X, and o- that denote whether the cell has be pied and which token is used in the cell if it is occupied The three image files x.gif, o.gif, and empty gif can be ob cs.armstrong.edu/liang/py/book.zip in the image folder. Use these three a data field token with occu- to display the X, O, and empty cells tarsect) Using the Circle2D class you defined in ver