Шашки
Он
from tkinter import * # графическая библиотека
playground = [-1]*12+[0]*8+[1]*12 # виртуальное игровое поле
btn = []
class Btn(Button):
def __init__(self, num, *args, **kwards):
super().__init__(*args, **kwards)
self.pack(expand=YES, fill=BOTH, side=LEFT)
self.num = num
self.automove()
def automove(self): # функция обновления кадра
self.config(image=IMG[playground[self.num]])
self.after(200, self.automove)
def play(n): # обработчик нажатия на кнопку
print(n)
tk = Tk()
tk.title('Шашки')
tk.geometry('880x880')
IMG = (PhotoImage(file='alpha.png'), PhotoImage(file='white.png'), PhotoImage(file='black.png'))
for i in range(8):
f = Frame() # Фреймы
f.pack(expand=YES, fill=BOTH)
for j in range(4):
n = i * 4 + j
if not i%2:
Button(f, state=DISABLED, image=IMG[0]).pack(expand=YES, fill=BOTH, side=LEFT)
btn.append(Btn(n, f, bg='#8b4514', activebackground='#b0632d', command=lambda k=n: play(k)))
btn[n].pack(expand=YES, fill=BOTH, side=LEFT)
if i%2:
Button(f, state=DISABLED, image=IMG[0]).pack(expand=YES, fill=BOTH, side=LEFT)
mainloop() # главный цикл программы
Лист. 1.
Рис. 1.