Amazing-Python-Scripts

Форк
0
135 строк · 4.4 Кб
1
from tkinter import *
2
import random
3
import tkinter.messagebox
4

5
parent = Tk()
6
numbers_generated = NONE
7

8
parent.geometry("950x500")
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 = []
15
label.pack(pady=200)
16
buttons1 = {}
17
buttons2 = {}
18
button_font = ("Arial", 10)
19
TAMBOLA = Label(parent, text="TAMBOLA",
20
                font="Times 20 italic bold underline", bg="#B0E2FF").place(x=400, y=30)
21

22

23
def print_number():
24
    random_number = random.randint(0, 100)
25
    if random_number in unique_nums_generated:
26
        while (random_number in unique_nums_generated):
27
            random_number = random.randint(0, 100)
28
    unique_nums_generated.append(random_number)
29
    label.config(text=str(random_number), bg="#B0E2FF")
30
    global numbers_generated
31
    numbers_generated = random_number
32

33

34
def winner():
35
    x = 0
36
    if len(array1) == 0:
37
        x = 1
38
    elif len(array2) == 0:
39
        x = 2
40
    else:
41
        pass
42
    if (x != 0):
43
        popup(x)
44

45

46
def popup(x):
47
    x = str(x)
48
    tkinter.messagebox.showinfo("GAME OVER", "player "+x+" won")
49
    parent.after(5, lambda: parent.destroy())
50

51

52
def pressed(number):
53
    # print("entered", number,numbers_generated)
54
    if number == 1:
55
        if numbers_generated in buttons1.keys():
56
            buttons1[numbers_generated].configure(bg="pale violet red")
57
            array1.remove(numbers_generated)
58
    elif number == 2:
59
        if numbers_generated in buttons2.keys():
60
            buttons2[numbers_generated].configure(bg="pale violet red")
61
            array2.remove(numbers_generated)
62
    else:
63
        pass
64

65
    winner()
66

67

68
def generate_buttons():
69

70
    for numb in range(3):
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)
103
    # button1=Button(parent,text=array1[1],width=10,height=5)
104
    # button1.place(x=150,y=100)
105

106

107
def generate_number():
108
    x = 0
109

110
    while (x < 9):
111
        number = random.randint(0, 100)
112
        if number in array1:
113
            while (number in array1):
114
                number = random.randint(0, 100)
115
        array1.append(number)
116
        x = x+1
117
    y = 0
118
    while (y < 9):
119
        number = random.randint(0, 100)
120
        if number in array2:
121
            while (number in array2):
122
                number = random.randint(0, 100)
123
        array2.append(number)
124
        y = y+1
125

126
    generate_buttons()
127

128

129
button_start = Button(parent, text="START GAME",
130
                      command=generate_number, fg="green",)
131
button_start.pack(side=TOP)
132
button_end = Button(parent, text="END GAME", fg="red", command=parent.destroy)
133
button_end.pack(side=BOTTOM)
134

135
parent.mainloop()
136

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.