Professional Documents
Culture Documents
class GameSelector:
def __init__(self, master):
self.master = master
self.master.title("Game Selector")
self.game_buttons = [
("Key Guessing", self.play_key_guessing),
("Tic Tac Toe", self.play_tic_tac_toe),
("Connect Four", self.play_connect_four)
]
def play_key_guessing(self):
self.master.withdraw()
if source == 'computer':
secret_key = none
else:
secret_key = simpledialog.askinteger("Key Guessing", "Choose
a secret key:")
if secret_key is None:
self.master.deiconify() # Player canceled, go back to
the main menu
return
attempts = 3
if attempts == 0:
messagebox.showinfo("Key Guessing", f"You've run out of
attempts. The correct key was {secret_key}.")
self.master.deiconify()
def play_tic_tac_toe(self):
self.master.withdraw()
tic_tac_toe_game = TicTacToeGame(self.master)
tic_tac_toe_game.play()
self.master.deiconify()
def play_connect_four(self):
self.master.withdraw()
connect_four_game = ConnectFourGame(self.master)
connect_four_game.play()
self.master.deiconify()
class TicTacToeGame:
def __init__(self, master):
self.master = master
self.board = [" "] * 9
self.current_player = "X"
self.root = tk.Tk()
self.root.title("Tic-Tac-Toe")
self.buttons = []
for i in range(3):
for j in range(3):
button = tk.Button(self.root, text="", width=5, height=2,
command=lambda row=i, col=j:
self.make_move(row, col))
button.grid(row=i, column=j)
self.buttons.append(button)
def check_winner(self):
for i in range(0, 9, 3):
if self.board[i] == self.board[i+1] == self.board[i+2] != "
":
return True
for i in range(3):
if self.board[i] == self.board[i+3] == self.board[i+6] != "
":
return True
if self.board[0] == self.board[4] == self.board[8] != " " or
self.board[2] == self.board[4] == self.board[6] != " ":
return True
return False
def exit_game(self):
self.root.destroy()
self.master.deiconify()
def play(self):
self.root.mainloop()
class ConnectFourGame:
def __init__(self, master):
self.master = master
self.rows = 6
self.cols = 7
self.board = [[' '] * self.cols for _ in range(self.rows)]
self.current_player = "X"
self.root = tk.Tk()
self.root.title("Connect Four")
self.buttons = []
for i in range(self.rows):
for j in range(self.cols):
button = tk.Button(self.root, text="", width=5, height=2,
command=lambda col=j:
self.make_move(col))
button.grid(row=i, column=j)
self.buttons.append(button)
def exit_game(self):
self.root.destroy()
self.master.deiconify()
def play(self):
self.root.mainloop()
if __name__ == "__main__":
master = tk.Tk()
game_selector = GameSelector(master)
master.mainloop()