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