Добавить
Уведомления

Tic Tac Toe game python code

Here is the code: import tkinter as tk from tkinter import messagebox class TicTacToe: def __init__(self, master): self.master = master self.master.title("Tic Tac Toe") self.board = [[' ' for _ in range(3)] for _ in range(3)] self.current_player = 'X' self.create_widgets() def create_widgets(self): self.buttons = [[tk.Button(self.master, text=' ', font=('Arial', 20), width=5, height=2, command=lambda row=row, col=col: self.make_move(row, col)) for col in range(3)] for row in range(3)] for row in range(3): for col in range(3): self.buttons[row][col].grid(row=row, column=col, padx=5, pady=5) self.reset_button = tk.Button(self.master, text="Reset", font=('Arial', 14), command=self.reset_board) self.reset_button.grid(row=3, columnspan=3, pady=10) def make_move(self, row, col): if self.board[row][col] == ' ': self.board[row][col] = self.current_player self.buttons[row][col].config(text=self.current_player) if self.check_winner(): messagebox.showinfo("Tic Tac Toe", f"{self.current_player} wins!") self.reset_board() elif self.check_draw(): messagebox.showinfo("Tic Tac Toe", "It's a draw!") self.reset_board() else: self.current_player = 'O' if self.current_player == 'X' else 'X' def check_winner(self): # Check rows for row in self.board: if row[0] == row[1] == row[2] != ' ': return True # Check columns for col in range(3): if self.board[0][col] == self.board[1][col] == self.board[2][col] != ' ': return True # Check diagonals if self.board[0][0] == self.board[1][1] == self.board[2][2] != ' ': return True if self.board[0][2] == self.board[1][1] == self.board[2][0] != ' ': return True return False def check_draw(self): for row in self.board: for cell in row: if cell == ' ': return False return True def reset_board(self): for row in range(3): for col in range(3): self.board[row][col] = ' ' self.buttons[row][col].config(text=' ') self.current_player = 'X' def main(): root = tk.Tk() game = TicTacToe(root) root.mainloop() if __name__ == "__main__": main()

Иконка канала iPad Secrets Revealed
1 подписчик
12+
15 просмотров
год назад
12+
15 просмотров
год назад

Here is the code: import tkinter as tk from tkinter import messagebox class TicTacToe: def __init__(self, master): self.master = master self.master.title("Tic Tac Toe") self.board = [[' ' for _ in range(3)] for _ in range(3)] self.current_player = 'X' self.create_widgets() def create_widgets(self): self.buttons = [[tk.Button(self.master, text=' ', font=('Arial', 20), width=5, height=2, command=lambda row=row, col=col: self.make_move(row, col)) for col in range(3)] for row in range(3)] for row in range(3): for col in range(3): self.buttons[row][col].grid(row=row, column=col, padx=5, pady=5) self.reset_button = tk.Button(self.master, text="Reset", font=('Arial', 14), command=self.reset_board) self.reset_button.grid(row=3, columnspan=3, pady=10) def make_move(self, row, col): if self.board[row][col] == ' ': self.board[row][col] = self.current_player self.buttons[row][col].config(text=self.current_player) if self.check_winner(): messagebox.showinfo("Tic Tac Toe", f"{self.current_player} wins!") self.reset_board() elif self.check_draw(): messagebox.showinfo("Tic Tac Toe", "It's a draw!") self.reset_board() else: self.current_player = 'O' if self.current_player == 'X' else 'X' def check_winner(self): # Check rows for row in self.board: if row[0] == row[1] == row[2] != ' ': return True # Check columns for col in range(3): if self.board[0][col] == self.board[1][col] == self.board[2][col] != ' ': return True # Check diagonals if self.board[0][0] == self.board[1][1] == self.board[2][2] != ' ': return True if self.board[0][2] == self.board[1][1] == self.board[2][0] != ' ': return True return False def check_draw(self): for row in self.board: for cell in row: if cell == ' ': return False return True def reset_board(self): for row in range(3): for col in range(3): self.board[row][col] = ' ' self.buttons[row][col].config(text=' ') self.current_player = 'X' def main(): root = tk.Tk() game = TicTacToe(root) root.mainloop() if __name__ == "__main__": main()

, чтобы оставлять комментарии