dgfhdfgh
dfhdfh
Рис. 2. Изображения шариков в png формате.
from tkinter import * # графическая библиотека
from random import shuffle # перемешать список suffle(A)
column = 5 # столбцы
row = 5 # строки
btn = [] # список кнопок
def play(n): # функция обработчик нажатия на кнопку
btn[n].config(text = n)
for i in range(row):
f = Frame()
f.pack(expand=YES, fill=BOTH)
for j in range(column):
n = i*column+j
btn += [Button(f, font=("mono", 16, "bold"), width=5, height=3)]
btn[-1].pack(expand=YES, fill=BOTH, side=LEFT)
btn[-1].config(text =" ")
btn[-1].config(command=lambda n=n:play(n))
mainloop()
Лист. 1. Шаблон для игрового поля.
from tkinter import * # графическая библиотека
from random import shuffle # перемешать список suffle(A)
column = 9 # столбцы
row = 9 # строки
btn = [] # список кнопок
img = []
files = ['blank.png', 'azure.png', 'bronze.png', 'emerald.png', 'gold.png',
'pink.png', 'scarlet.png', 'steel.png']
num = [1, 2, 3, 4, 5, 6, 7]
playGround = [0]*column*row
for i in range(5):
shuffle(num)
playGround[i] = num[0]
shuffle(playGround)
tk = Tk()
for i in files:
img += [PhotoImage(file=i)]
def play(n): # функция обработчик нажатия на кнопку
global playGround
bl_btn = []
for i, b in enumerate(playGround):
if b==0:
bl_btn += [i]
if bl_btn == []:
return
shuffle(bl_btn)
shuffle(num)
playGround[bl_btn[0]] = num[0]
for i, b in enumerate(btn):
b.config(image = img[playGround[i]])
for i in range(row):
f = Frame()
f.pack(expand=YES, fill=BOTH)
for j in range(column):
n=i*column+j
btn += [Button(f, image = img[playGround[n]])]
btn[-1].pack(expand=YES, fill=BOTH, side=LEFT)
btn[-1].config(command=lambda n=n:play(n))
mainloop()
Лист. 2.