Amazing-Python-Scripts
135 строк · 4.4 Кб
1from tkinter import *
2import random
3import tkinter.messagebox
4
5parent = Tk()
6numbers_generated = NONE
7
8parent.geometry("950x500")
9parent.configure(bg="#B0E2FF")
10array1 = []
11array2 = []
12label = Label(parent, text="", font=("Arial", 24, "bold"))
13unique_nums_generated = []
14unique_nums_tickets = []
15label.pack(pady=200)
16buttons1 = {}
17buttons2 = {}
18button_font = ("Arial", 10)
19TAMBOLA = Label(parent, text="TAMBOLA",
20font="Times 20 italic bold underline", bg="#B0E2FF").place(x=400, y=30)
21
22
23def print_number():
24random_number = random.randint(0, 100)
25if random_number in unique_nums_generated:
26while (random_number in unique_nums_generated):
27random_number = random.randint(0, 100)
28unique_nums_generated.append(random_number)
29label.config(text=str(random_number), bg="#B0E2FF")
30global numbers_generated
31numbers_generated = random_number
32
33
34def winner():
35x = 0
36if len(array1) == 0:
37x = 1
38elif len(array2) == 0:
39x = 2
40else:
41pass
42if (x != 0):
43popup(x)
44
45
46def popup(x):
47x = str(x)
48tkinter.messagebox.showinfo("GAME OVER", "player "+x+" won")
49parent.after(5, lambda: parent.destroy())
50
51
52def pressed(number):
53# print("entered", number,numbers_generated)
54if number == 1:
55if numbers_generated in buttons1.keys():
56buttons1[numbers_generated].configure(bg="pale violet red")
57array1.remove(numbers_generated)
58elif number == 2:
59if numbers_generated in buttons2.keys():
60buttons2[numbers_generated].configure(bg="pale violet red")
61array2.remove(numbers_generated)
62else:
63pass
64
65winner()
66
67
68def generate_buttons():
69
70for numb in range(3):
71buttons1[array1[numb]] = Button(parent, text=array1[numb], width=10, height=5,
72font=button_font, bg='LightYellow2', command=lambda: pressed(1))
73buttons1[array1[numb]].place(x=40+(100*numb), y=100)
74
75buttons2[array2[numb]] = Button(parent, text=array2[numb], width=10,
76height=5, font=button_font, bg='LightPink1', command=lambda: pressed(2))
77buttons2[array2[numb]].place(x=600+(100*numb), y=100)
78space = 0
79for numb in range(3, 6):
80buttons1[array1[numb]] = Button(parent, text=array1[numb], width=10, height=5,
81font=button_font, bg='LightYellow2', command=lambda: pressed(1))
82buttons1[array1[numb]].place(x=40+(100*space), y=200)
83
84buttons2[array2[numb]] = Button(parent, text=array2[numb], width=10,
85height=5, font=button_font, bg='LightPink1', command=lambda: pressed(2))
86buttons2[array2[numb]].place(x=600+(100*space), y=200)
87space = space+1
88
89space = 0
90for numb in range(6, 9):
91buttons1[array1[numb]] = Button(parent, text=array1[numb], width=10, height=5,
92font=button_font, bg='LightYellow2', command=lambda: pressed(1))
93buttons1[array1[numb]].place(x=40+(100*space), y=300)
94
95buttons2[array2[numb]] = Button(parent, text=array2[numb], width=10,
96height=5, font=button_font, bg='LightPink1', command=lambda: pressed(2))
97buttons2[array2[numb]].place(x=600+(100*space), y=300)
98space = space+1
99
100number_button = Button(parent, text="CLICK TO GENERATE A NUMBER",
101command=print_number, width=35, height=4, bg='PaleGreen1')
102number_button.place(x=338, y=260)
103# button1=Button(parent,text=array1[1],width=10,height=5)
104# button1.place(x=150,y=100)
105
106
107def generate_number():
108x = 0
109
110while (x < 9):
111number = random.randint(0, 100)
112if number in array1:
113while (number in array1):
114number = random.randint(0, 100)
115array1.append(number)
116x = x+1
117y = 0
118while (y < 9):
119number = random.randint(0, 100)
120if number in array2:
121while (number in array2):
122number = random.randint(0, 100)
123array2.append(number)
124y = y+1
125
126generate_buttons()
127
128
129button_start = Button(parent, text="START GAME",
130command=generate_number, fg="green",)
131button_start.pack(side=TOP)
132button_end = Button(parent, text="END GAME", fg="red", command=parent.destroy)
133button_end.pack(side=BOTTOM)
134
135parent.mainloop()
136