Path: blob/master/python-igra-tetris/main_lesson_3.py
5925 views
from tkinter import *1from tkinter import messagebox2from random import choice, randrange34W, H = 10, 205TILE = 456GAME_RES = W * TILE, H * TILE7RES = 750, 9408FPS = 6091011def on_closing():12if messagebox.askokcancel("Выход из приложения", "Хотите выйти из приложения?"):13tk.destroy()141516tk = Tk()17tk.protocol("WM_DELETE_WINDOW", on_closing)18tk.title("Tetris")19tk.resizable(0, 0)20tk.wm_attributes("-topmost", 1)21#tk.iconbitmap("bomb-3175208_640.ico")2223canvas = Canvas(tk, width=RES[0], height=RES[1], bg="red", highlightthickness=0)24canvas.pack()2526img_obj1 = PhotoImage(file="img/bg.png")27canvas.create_image(0, 0, anchor=NW, image=img_obj1)2829img_obj2 = PhotoImage(file="img/bg2.png")30canvas.create_image(20, 20, anchor=NW, image=img_obj2)3132grid = [canvas.create_rectangle(x * TILE, y * TILE, x * TILE+TILE, y * TILE+TILE) for x in range(W) for y in range(H)]33for item in grid:34canvas.move(item, 20, 20)3536score = 037record = "0"3839canvas.create_text(505, 30,text="TETRIS", font=("WiGuru 2", 45),fill="red", anchor=NW)40canvas.create_text(535, 780,text="score:", font=("WiGuru 2", 40),fill="white", anchor=NW)41canvas.create_text(550, 840,text=str(score), font=("WiGuru 2", 40),fill="white", anchor=NW)42canvas.create_text(525, 650,text="record:", font=("WiGuru 2", 40),fill="white", anchor=NW)43canvas.create_text(550, 710,text=record, font=("WiGuru 2", 40),fill="gold", anchor=NW)4445get_color = lambda : (randrange(30, 256), randrange(30, 256), randrange(30, 256))4647def rgb_to_hex(rgb):48return '#%02x%02x%02x' % rgb4950print(rgb_to_hex(get_color()))515253for item in grid:54canvas.itemconfigure(item, fill=rgb_to_hex(get_color()))5556# for item in grid:57# canvas.itemconfigure(item, fill="")5859tk.mainloop()606162