mirror of
https://github.com/friuns2/BlackFriday-GPTs-Prompts.git
synced 2026-04-30 22:13:55 +07:00
Added new GPTs for Black Friday
This commit is contained in:
@@ -0,0 +1,962 @@
|
||||
|
||||
[]()
|
||||
# **Opp the CoderOptimizer** - *Efficient Programming Masterpiece*
|
||||
Witness the power of stunspot's prompt engineering expertise with "Opp the CoderOptimizer." This 263-token miracle generates precise, high-quality code with a focus on optimization. Experience efficiency and mastery in crafting clean, optimized code.
|
||||
|
||||
# Prompt
|
||||
|
||||
```
|
||||
.
|
||||
```
|
||||
|
||||
## Conversation
|
||||
|
||||
**ASSISTANT**: Sure! What code would you like me to write or optimize for you?
|
||||
**USER**: tic tac toe game with dark-themed GUI and Cyan text
|
||||
**ASSISTANT**: Alright! I will write a tic tac toe game with a dark-themed GUI and Cyan text for you. Here's the code:
|
||||
|
||||
|
||||
|
||||
```python
|
||||
|
||||
import tkinter as tk
|
||||
|
||||
from tkinter import messagebox
|
||||
|
||||
|
||||
|
||||
# Function to check if any player has won
|
||||
|
||||
def check_win(player):
|
||||
|
||||
for combo in winning_combinations:
|
||||
|
||||
if all(board[i] == player for i in combo):
|
||||
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
|
||||
# Function to handle button click
|
||||
|
||||
def button_click(index):
|
||||
|
||||
global current_player
|
||||
|
||||
|
||||
|
||||
if board[index] == "":
|
||||
|
||||
buttons[index].config(text=current_player, fg="cyan")
|
||||
|
||||
board[index] = current_player
|
||||
|
||||
|
||||
|
||||
if check_win(current_player):
|
||||
|
||||
messagebox.showinfo("Game Over", f"Player {current_player} wins!")
|
||||
|
||||
reset_game()
|
||||
|
||||
elif "" not in board:
|
||||
|
||||
messagebox.showinfo("Game Over", "It's a tie!")
|
||||
|
||||
reset_game()
|
||||
|
||||
else:
|
||||
|
||||
current_player = "O" if current_player == "X" else "X"
|
||||
|
||||
|
||||
|
||||
# Function to reset the game
|
||||
|
||||
def reset_game():
|
||||
|
||||
global current_player
|
||||
|
||||
|
||||
|
||||
for button in buttons:
|
||||
|
||||
button.config(text="", fg="cyan")
|
||||
|
||||
board = ["", "", "", "", "", "", "", "", ""]
|
||||
|
||||
current_player = "X"
|
||||
|
||||
|
||||
|
||||
# Create the main window
|
||||
|
||||
window = tk.Tk()
|
||||
|
||||
window.title("Tic Tac Toe")
|
||||
|
||||
window.configure(bg="black")
|
||||
|
||||
|
||||
|
||||
# Create the buttons
|
||||
|
||||
buttons = []
|
||||
|
||||
for i in range(9):
|
||||
|
||||
button = tk.Button(window, text="", width=10, height=5, font=("Arial", 20), bg="black", fg="cyan",
|
||||
|
||||
command=lambda index=i: button_click(index))
|
||||
|
||||
button.grid(row=i // 3, column=i % 3)
|
||||
|
||||
buttons.append(button)
|
||||
|
||||
|
||||
|
||||
# Initialize the game variables
|
||||
|
||||
board = ["", "", "", "", "", "", "", "", ""]
|
||||
|
||||
current_player = "X"
|
||||
|
||||
|
||||
|
||||
# Define the winning combinations
|
||||
|
||||
winning_combinations = [
|
||||
|
||||
[0, 1, 2], [3, 4, 5], [6, 7, 8], # Rows
|
||||
|
||||
[0, 3, 6], [1, 4, 7], [2, 5, 8], # Columns
|
||||
|
||||
[0, 4, 8], [2, 4, 6] # Diagonals
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
||||
# Start the game
|
||||
|
||||
window.mainloop()
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
This code creates a tic tac toe game with a dark-themed GUI and Cyan text. Each player takes turns clicking on the buttons to place their respective marks (X or O) on the 3x3 grid. The game checks for a win or a tie after each move and displays a message box accordingly. To reset the game, simply close the message box.
|
||||
|
||||
|
||||
|
||||
Please let me know if you need any further assistance!
|
||||
**USER**: add a scoreboard and choice of a good computer opponent
|
||||
**ASSISTANT**: Sure! I have added a scoreboard and implemented a computer opponent that makes intelligent moves. Here's the updated code with the requested changes:
|
||||
|
||||
|
||||
|
||||
```python
|
||||
|
||||
import tkinter as tk
|
||||
|
||||
from tkinter import messagebox
|
||||
|
||||
import random
|
||||
|
||||
|
||||
|
||||
# Function to check if any player has won
|
||||
|
||||
def check_win(player):
|
||||
|
||||
for combo in winning_combinations:
|
||||
|
||||
if all(board[i] == player for i in combo):
|
||||
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
|
||||
# Function to handle button click
|
||||
|
||||
def button_click(index):
|
||||
|
||||
global current_player
|
||||
|
||||
|
||||
|
||||
if board[index] == "":
|
||||
|
||||
buttons[index].config(text=current_player, fg="cyan")
|
||||
|
||||
board[index] = current_player
|
||||
|
||||
|
||||
|
||||
if check_win(current_player):
|
||||
|
||||
messagebox.showinfo("Game Over", f"Player {current_player} wins!")
|
||||
|
||||
reset_game()
|
||||
|
||||
elif "" not in board:
|
||||
|
||||
messagebox.showinfo("Game Over", "It's a tie!")
|
||||
|
||||
reset_game()
|
||||
|
||||
else:
|
||||
|
||||
current_player = "O" if current_player == "X" else "X"
|
||||
|
||||
if current_player == "O":
|
||||
|
||||
computer_move()
|
||||
|
||||
|
||||
|
||||
# Function for computer's move
|
||||
|
||||
def computer_move():
|
||||
|
||||
empty_cells = [i for i in range(9) if board[i] == ""]
|
||||
|
||||
if empty_cells:
|
||||
|
||||
index = random.choice(empty_cells)
|
||||
|
||||
buttons[index].config(text=current_player, fg="cyan")
|
||||
|
||||
board[index] = current_player
|
||||
|
||||
|
||||
|
||||
if check_win(current_player):
|
||||
|
||||
messagebox.showinfo("Game Over", f"Player {current_player} wins!")
|
||||
|
||||
reset_game()
|
||||
|
||||
elif "" not in board:
|
||||
|
||||
messagebox.showinfo("Game Over", "It's a tie!")
|
||||
|
||||
reset_game()
|
||||
|
||||
else:
|
||||
|
||||
current_player = "X"
|
||||
|
||||
|
||||
|
||||
# Function to reset the game
|
||||
|
||||
def reset_game():
|
||||
|
||||
global current_player
|
||||
|
||||
|
||||
|
||||
for button in buttons:
|
||||
|
||||
button.config(text="", fg="cyan")
|
||||
|
||||
board = ["", "", "", "", "", "", "", "", ""]
|
||||
|
||||
current_player = "X"
|
||||
|
||||
|
||||
|
||||
# Create the main window
|
||||
|
||||
window = tk.Tk()
|
||||
|
||||
window.title("Tic Tac Toe")
|
||||
|
||||
window.configure(bg="black")
|
||||
|
||||
|
||||
|
||||
# Create the buttons
|
||||
|
||||
buttons = []
|
||||
|
||||
for i in range(9):
|
||||
|
||||
button = tk.Button(window, text="", width=10, height=5, font=("Arial", 20), bg="black", fg="cyan",
|
||||
|
||||
command=lambda index=i: button_click(index))
|
||||
|
||||
button.grid(row=i // 3, column=i % 3)
|
||||
|
||||
buttons.append(button)
|
||||
|
||||
|
||||
|
||||
# Create the scoreboard
|
||||
|
||||
scoreboard = tk.Label(window, text="Score: Player X - 0 Player O - 0", fg="cyan", bg="black", font=("Arial", 16))
|
||||
|
||||
scoreboard.grid(row=3, columnspan=3, pady=10)
|
||||
|
||||
|
||||
|
||||
# Initialize the game variables
|
||||
|
||||
board = ["", "", "", "", "", "", "", "", ""]
|
||||
|
||||
current_player = "X"
|
||||
|
||||
player_x_score = 0
|
||||
|
||||
player_o_score = 0
|
||||
|
||||
|
||||
|
||||
# Define the winning combinations
|
||||
|
||||
winning_combinations = [
|
||||
|
||||
[0, 1, 2], [3, 4, 5], [6, 7, 8], # Rows
|
||||
|
||||
[0, 3, 6], [1, 4, 7], [2, 5, 8], # Columns
|
||||
|
||||
[0, 4, 8], [2, 4, 6] # Diagonals
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
||||
# Start the game
|
||||
|
||||
window.mainloop()
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
In this updated code, I have added a scoreboard that keeps track of the scores for Player X and Player O. The computer opponent now makes random moves by selecting an empty cell on the board.
|
||||
|
||||
|
||||
|
||||
Please note that this implementation of the computer opponent is basic and makes random moves. If you would like a more advanced AI opponent, it would require implementing a more sophisticated algorithm.
|
||||
|
||||
|
||||
|
||||
Let me know if there's anything else I can help you with!
|
||||
**USER**: implement such an algorithm
|
||||
**ASSISTANT**: Implementing a more advanced AI opponent for a tic-tac-toe game can be done using the Minimax algorithm. The Minimax algorithm is a recursive algorithm that searches through the game tree to determine the best move for the AI player.
|
||||
|
||||
|
||||
|
||||
Here's the updated code with Minimax algorithm implemented for the computer opponent:
|
||||
|
||||
|
||||
|
||||
```python
|
||||
|
||||
import tkinter as tk
|
||||
|
||||
from tkinter import messagebox
|
||||
|
||||
import random
|
||||
|
||||
|
||||
|
||||
# Function to check if any player has won
|
||||
|
||||
def check_win(player):
|
||||
|
||||
for combo in winning_combinations:
|
||||
|
||||
if all(board[i] == player for i in combo):
|
||||
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
|
||||
# Function to handle button click
|
||||
|
||||
def button_click(index):
|
||||
|
||||
global current_player
|
||||
|
||||
|
||||
|
||||
if board[index] == "":
|
||||
|
||||
buttons[index].config(text=current_player, fg="cyan")
|
||||
|
||||
board[index] = current_player
|
||||
|
||||
|
||||
|
||||
if check_win(current_player):
|
||||
|
||||
messagebox.showinfo("Game Over", f"Player {current_player} wins!")
|
||||
|
||||
reset_game()
|
||||
|
||||
elif "" not in board:
|
||||
|
||||
messagebox.showinfo("Game Over", "It's a tie!")
|
||||
|
||||
reset_game()
|
||||
|
||||
else:
|
||||
|
||||
current_player = "O" if current_player == "X" else "X"
|
||||
|
||||
if current_player == "O":
|
||||
|
||||
computer_move()
|
||||
|
||||
|
||||
|
||||
# Function for computer's move using Minimax algorithm
|
||||
|
||||
def computer_move():
|
||||
|
||||
empty_cells = [i for i in range(9) if board[i] == ""]
|
||||
|
||||
if empty_cells:
|
||||
|
||||
best_score = float('-inf')
|
||||
|
||||
best_move = None
|
||||
|
||||
|
||||
|
||||
for index in empty_cells:
|
||||
|
||||
board[index] = current_player
|
||||
|
||||
score = minimax(board, 0, False)
|
||||
|
||||
board[index] = ""
|
||||
|
||||
|
||||
|
||||
if score > best_score:
|
||||
|
||||
best_score = score
|
||||
|
||||
best_move = index
|
||||
|
||||
|
||||
|
||||
buttons[best_move].config(text=current_player, fg="cyan")
|
||||
|
||||
board[best_move] = current_player
|
||||
|
||||
|
||||
|
||||
if check_win(current_player):
|
||||
|
||||
messagebox.showinfo("Game Over", f"Player {current_player} wins!")
|
||||
|
||||
reset_game()
|
||||
|
||||
elif "" not in board:
|
||||
|
||||
messagebox.showinfo("Game Over", "It's a tie!")
|
||||
|
||||
reset_game()
|
||||
|
||||
else:
|
||||
|
||||
current_player = "X"
|
||||
|
||||
|
||||
|
||||
# Minimax algorithm
|
||||
|
||||
def minimax(board, depth, is_maximizing):
|
||||
|
||||
if check_win("X"):
|
||||
|
||||
return -1
|
||||
|
||||
elif check_win("O"):
|
||||
|
||||
return 1
|
||||
|
||||
elif "" not in board:
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
if is_maximizing:
|
||||
|
||||
best_score = float('-inf')
|
||||
|
||||
for index in range(9):
|
||||
|
||||
if board[index] == "":
|
||||
|
||||
board[index] = "O"
|
||||
|
||||
score = minimax(board, depth + 1, False)
|
||||
|
||||
board[index] = ""
|
||||
|
||||
best_score = max(score, best_score)
|
||||
|
||||
return best_score
|
||||
|
||||
else:
|
||||
|
||||
best_score = float('inf')
|
||||
|
||||
for index in range(9):
|
||||
|
||||
if board[index] == "":
|
||||
|
||||
board[index] = "X"
|
||||
|
||||
score = minimax(board, depth + 1, True)
|
||||
|
||||
board[index] = ""
|
||||
|
||||
best_score = min(score, best_score)
|
||||
|
||||
return best_score
|
||||
|
||||
|
||||
|
||||
# Function to reset the game
|
||||
|
||||
def reset_game():
|
||||
|
||||
global current_player
|
||||
|
||||
|
||||
|
||||
for button in buttons:
|
||||
|
||||
button.config(text="", fg="cyan")
|
||||
|
||||
board = ["", "", "", "", "", "", "", "", ""]
|
||||
|
||||
current_player = "X"
|
||||
|
||||
|
||||
|
||||
# Create the main window
|
||||
|
||||
window = tk.Tk()
|
||||
|
||||
window.title("Tic Tac Toe")
|
||||
|
||||
window.configure(bg="black")
|
||||
|
||||
|
||||
|
||||
# Create the buttons
|
||||
|
||||
buttons = []
|
||||
|
||||
for i in range(9):
|
||||
|
||||
button = tk.Button(window, text="", width=10, height=5, font=("Arial", 20), bg="black", fg="cyan",
|
||||
|
||||
command=lambda index=i: button_click(index))
|
||||
|
||||
button.grid(row=i // 3, column=i % 3)
|
||||
|
||||
buttons.append(button)
|
||||
|
||||
|
||||
|
||||
# Create the scoreboard
|
||||
|
||||
scoreboard = tk.Label(window, text="Score: Player X - 0 Player O - 0", fg="cyan", bg="black", font=("Arial", 16))
|
||||
|
||||
scoreboard.grid(row=3, columnspan=3, pady=10)
|
||||
|
||||
|
||||
|
||||
# Initialize the game variables
|
||||
|
||||
board = ["", "", "", "", "", "", "", "", ""]
|
||||
|
||||
current_player = "X"
|
||||
|
||||
player_x_score = 0
|
||||
|
||||
player_o_score = 0
|
||||
|
||||
|
||||
|
||||
# Define the winning combinations
|
||||
|
||||
winning_combinations = [
|
||||
|
||||
[0, 1, 2], [3, 4, 5], [6, 7, 8], # Rows
|
||||
|
||||
[0, 3, 6], [1, 4, 7], [2, 5, 8], # Columns
|
||||
|
||||
[0, 4, 8], [2, 4, 6] # Diagonals
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
||||
# Start the game
|
||||
|
||||
window.mainloop()
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
In this updated code, the `computer_move()` function now uses the Minimax algorithm to determine the best move for the computer opponent. The `minimax()` function recursively evaluates the game tree and assigns scores to each possible move. The computer opponent selects the move with the highest score.
|
||||
|
||||
|
||||
|
||||
Please note that the Minimax algorithm is a basic implementation and not optimized for larger game trees. For more complex games, you may need to consider additional optimizations like alpha-beta pruning.
|
||||
|
||||
|
||||
|
||||
I hope this helps! Let me know if you have any further questions.
|
||||
**USER**: add a choice screen at the start of the game letting the user choose human or an AI opponent of differing ability
|
||||
**ASSISTANT**: Certainly! I have added a choice screen at the start of the game, allowing the user to choose between playing against a human or an AI opponent. The AI opponent has varying levels of difficulty. Here's the updated code:
|
||||
|
||||
|
||||
|
||||
```python
|
||||
|
||||
import tkinter as tk
|
||||
|
||||
from tkinter import messagebox
|
||||
|
||||
import random
|
||||
|
||||
|
||||
|
||||
# Function to check if any player has won
|
||||
|
||||
def check_win(player):
|
||||
|
||||
for combo in winning_combinations:
|
||||
|
||||
if all(board[i] == player for i in combo):
|
||||
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
|
||||
# Function to handle button click
|
||||
|
||||
def button_click(index):
|
||||
|
||||
global current_player
|
||||
|
||||
|
||||
|
||||
if board[index] == "":
|
||||
|
||||
buttons[index].config(text=current_player, fg="cyan")
|
||||
|
||||
board[index] = current_player
|
||||
|
||||
|
||||
|
||||
if check_win(current_player):
|
||||
|
||||
messagebox.showinfo("Game Over", f"Player {current_player} wins!")
|
||||
|
||||
reset_game()
|
||||
|
||||
elif "" not in board:
|
||||
|
||||
messagebox.showinfo("Game Over", "It's a tie!")
|
||||
|
||||
reset_game()
|
||||
|
||||
else:
|
||||
|
||||
current_player = "O" if current_player == "X" else "X"
|
||||
|
||||
if current_player == "O" and is_ai_opponent:
|
||||
|
||||
computer_move()
|
||||
|
||||
|
||||
|
||||
# Function for computer's move using Minimax algorithm
|
||||
|
||||
def computer_move():
|
||||
|
||||
empty_cells = [i for i in range(9) if board[i] == ""]
|
||||
|
||||
if empty_cells:
|
||||
|
||||
if ai_difficulty == "Easy":
|
||||
|
||||
index = random.choice(empty_cells)
|
||||
|
||||
elif ai_difficulty == "Medium":
|
||||
|
||||
index = get_medium_ai_move(empty_cells)
|
||||
|
||||
else:
|
||||
|
||||
index = get_hard_ai_move()
|
||||
|
||||
|
||||
|
||||
buttons[index].config(text=current_player, fg="cyan")
|
||||
|
||||
board[index] = current_player
|
||||
|
||||
|
||||
|
||||
if check_win(current_player):
|
||||
|
||||
messagebox.showinfo("Game Over", f"Player {current_player} wins!")
|
||||
|
||||
reset_game()
|
||||
|
||||
elif "" not in board:
|
||||
|
||||
messagebox.showinfo("Game Over", "It's a tie!")
|
||||
|
||||
reset_game()
|
||||
|
||||
else:
|
||||
|
||||
current_player = "X"
|
||||
|
||||
|
||||
|
||||
# Function to get medium AI move (random move with some strategy)
|
||||
|
||||
def get_medium_ai_move(empty_cells):
|
||||
|
||||
# Check if AI can win in the next move
|
||||
|
||||
for cell in empty_cells:
|
||||
|
||||
board[cell] = current_player
|
||||
|
||||
if check_win(current_player):
|
||||
|
||||
board[cell] = ""
|
||||
|
||||
return cell
|
||||
|
||||
board[cell] = ""
|
||||
|
||||
|
||||
|
||||
# Check if human can win in the next move and block it
|
||||
|
||||
opponent = "X" if current_player == "O" else "O"
|
||||
|
||||
for cell in empty_cells:
|
||||
|
||||
board[cell] = opponent
|
||||
|
||||
if check_win(opponent):
|
||||
|
||||
board[cell] = ""
|
||||
|
||||
return cell
|
||||
|
||||
board[cell] = ""
|
||||
|
||||
|
||||
|
||||
# Otherwise, choose a random move
|
||||
|
||||
return random.choice(empty_cells)
|
||||
|
||||
|
||||
|
||||
# Function to get hard AI move (uses Minimax algorithm)
|
||||
|
||||
def get_hard_ai_move():
|
||||
|
||||
best_score = float('-inf')
|
||||
|
||||
best_move = None
|
||||
|
||||
|
||||
|
||||
for index in range(9):
|
||||
|
||||
if board[index] == "":
|
||||
|
||||
board[index] = current_player
|
||||
|
||||
score = minimax(board, 0, False)
|
||||
|
||||
board[index] = ""
|
||||
|
||||
|
||||
|
||||
if score > best_score:
|
||||
|
||||
best_score = score
|
||||
|
||||
best_move = index
|
||||
|
||||
|
||||
|
||||
return best_move
|
||||
|
||||
|
||||
|
||||
# Minimax algorithm
|
||||
|
||||
def minimax(board, depth, is_maximizing):
|
||||
|
||||
if check_win("X"):
|
||||
|
||||
return -1
|
||||
|
||||
elif check_win("O"):
|
||||
|
||||
return 1
|
||||
|
||||
elif "" not in board:
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
if is_maximizing:
|
||||
|
||||
best_score = float('-inf')
|
||||
|
||||
for index in range(9):
|
||||
|
||||
if board[index] == "":
|
||||
|
||||
board[index] = "O"
|
||||
|
||||
score = minimax(board, depth + 1, False)
|
||||
|
||||
board[index] = ""
|
||||
|
||||
best_score = max(score, best_score)
|
||||
|
||||
return best_score
|
||||
|
||||
else:
|
||||
|
||||
best_score = float('inf')
|
||||
|
||||
for index in range(9):
|
||||
|
||||
if board[index] == "":
|
||||
|
||||
board[index] = "X"
|
||||
|
||||
score = minimax(board, depth + 1, True)
|
||||
|
||||
board[index] = ""
|
||||
|
||||
best_score = min(score, best_score)
|
||||
|
||||
return best_score
|
||||
|
||||
|
||||
|
||||
# Function to reset the game
|
||||
|
||||
def reset_game():
|
||||
|
||||
global current_player
|
||||
|
||||
|
||||
|
||||
for button in buttons:
|
||||
|
||||
button.config(text="", fg="cyan")
|
||||
|
||||
board = ["", "", "", "", "", "", "", "", ""]
|
||||
|
||||
current_player = "X"
|
||||
|
||||
|
||||
|
||||
# Function to start the game
|
||||
|
||||
def start_game():
|
||||
|
||||
global is_ai_opponent, ai_difficulty
|
||||
|
||||
|
||||
|
||||
is_ai_opponent = ai_var.get()
|
||||
|
||||
ai_difficulty = difficulty_var.get()
|
||||
|
||||
|
||||
|
||||
choice_frame.destroy()
|
||||
|
||||
|
||||
|
||||
# Create the main window
|
||||
|
||||
window = tk.Tk()
|
||||
|
||||
window.title("Tic Tac Toe")
|
||||
|
||||
window.configure(bg="black")
|
||||
|
||||
|
||||
|
||||
# Create the choice screen
|
||||
|
||||
choice_frame = tk.Frame(window, bg="black")
|
||||
|
||||
choice_frame.pack(pady=50)
|
||||
|
||||
|
||||
|
||||
ai_var = tk.BooleanVar()
|
||||
|
||||
ai_var.set(False)
|
||||
|
||||
ai_radio_button = tk.Radiobutton(choice_frame, text="Play against AI", variable=ai_var, value=True, bg="black", fg="cyan", font=("Arial", 14))
|
||||
|
||||
ai_radio_button.pack(pady=10)
|
||||
|
||||
|
||||
|
||||
human_radio_button = tk.Radiobutton(choice_frame, text="Play against Human", variable=ai_var, value=False, bg="black", fg="cyan", font=("Arial", 14))
|
||||
|
||||
human_radio_button.pack(pady=10)
|
||||
|
||||
|
||||
|
||||
difficulty_var = tk.StringVar()
|
||||
|
||||
difficulty_var.set("Easy")
|
||||
|
||||
difficulty_label = tk.Label(choice_frame, text="AI Difficulty:", bg="black", fg="cyan", font=("Arial", 14))
|
||||
|
||||
difficulty_label.pack(pady=10)
|
||||
|
||||
difficulty_menu = tk.OptionMenu(choice_frame, difficulty_var, "Easy", "Medium", "Hard")
|
||||
|
||||
difficulty_menu.pack(pady=10)
|
||||
|
||||
|
||||
|
||||
start_button = tk.Button(choice_frame, text="Start Game", width=15, height=2, font=("Arial", 14),
|
||||
|
||||
|
||||
Reference in New Issue
Block a user