Roulette
Roulette
class RouletteGame:
def __init__(self, root):
self.root = root
self.root.title("Roulette Game")
self.root.attributes('-fullscreen', True) # Make window full screen
self.root.configure(bg="#006400") # Dark green background color
self.bank = 10000
self.bet_type = tk.StringVar(value="Even")
self.bet_value = tk.StringVar()
self.create_widgets()
def create_widgets(self):
font_settings = ("Arial Black", 20) # Slightly reduced font size
def open_spin_window(self):
try:
bet = int(self.entry_bet.get())
if bet > self.bank:
messagebox.showwarning("Warning", "You don't have enough money!")
return
self.bank -= bet
self.label_bank.config(text=f"Bank: ${self.bank}")
self.spin_window = tk.Toplevel(self.root)
self.spin_window.title("Spinning Wheel")
self.spin_window.geometry("700x700") # Reduced size of the spin window
self.spin_window.configure(bg="#006400")
self.spin_canvas = tk.Canvas(self.spin_window, width=700, height=700,
bg="#006400", highlightthickness=0)
self.spin_canvas.pack()
self.angle = 0
self.create_wheel()
self.animate_spin(bet)
except ValueError:
messagebox.showerror("Error", "Please enter a valid bet amount.")
def create_wheel(self):
self.spin_canvas.delete("all")
for i in range(37):
start_angle = self.angle + i * (360 / 37)
end_angle = start_angle + (360 / 37)
color = self.wheel_colors[i % len(self.wheel_colors)]
self.spin_canvas.create_arc(50, 50, 650, 650, start=start_angle,
extent=(360 / 37), fill=color, outline="")
winnings = 0
if bet_type == "Even":
if number != 0 and number % 2 == 0:
winnings = bet * 2
elif bet_type == "Odd":
if number % 2 != 0:
winnings = bet * 2
elif bet_type == "Low":
if 1 <= number <= 18:
winnings = bet * 2
elif bet_type == "High":
if 19 <= number <= 36:
winnings = bet * 2
return winnings
def reset_game(self):
self.bank = 10000
self.label_bank.config(text=f"Bank: ${self.bank}")
self.entry_bet.delete(0, tk.END)
self.result_label.config(text="")
def exit_game(self):
self.root.destroy()
if __name__ == "__main__":
root = tk.Tk()
game = RouletteGame(root)
root.mainloop()