# -- coding: cp1254 --
from Tkinter import *
import random
dugmeler = []
satir , sutun = 12, 12
degerliste = [1 for x in range(satir*sutun)]
renk = ["red","yellow"]
def tablaolustur(satno, sutno):
sol, ust, aralik = 100, 100, 15
genislik, yukseklik = 80, 30
for i in range(sutno):
for j in range(satno):
a = i*satno+j
dugmeler.append(Button(form))
dugmeler[a].config( text = u"Düğme"+str(a+1), bg=renk[0])
dugmeler[a].config(command = lambda btnno = a : degistir(btnno))
dugmeler[a].place(x=sol + i*genislik+aralik, y=ust+j*yukseklik+aralik)
def degistir(x):
bosliste = []
satirno = x % satir
sutunno = x / satir
# for b in [z for z in range(satirno - 1, satirno+2) if z>=0 and z<satir]:
for b in [z for z in range(satirno - 1, satirno+2) if z in range(0,satir)]:
#for a in [y for y in range(sutunno - 1, sutunno+2) if y>=0 and y<sutun]:
for a in [y for y in range(sutunno - 1, sutunno+2) if y in range(0,sutun)]:
bosliste.append(a*satir+b)
for eleman in bosliste:
##
## if dugmeler[eleman]["bg"] == "yellow":
## dugmeler[eleman].config(bg = "red")
## else:
## dugmeler[eleman].config(bg = "yellow")
### Yukarıdaki kod yerine aşağıdaki tek satır
dugmeler[eleman]["bg"] = renk[(renk.index(dugmeler[eleman]["bg"])+1)%2]
degerliste[eleman] = (2**degerliste[eleman])%2
if sum(degerliste) in [0, satir*sutun]:
print "oyun bitti"
form = Tk()
form.geometry("1200x1200+100+100")
tablaolustur(satir,sutun)
isimSor = Label(form)
isimSor.config(text = u"Geri alınmasını istediğiniz hamle sayısı")
isimSor.pack()
isim = Entry(form)
isim.pack()
buton = Button(form)
buton.config(text = u"Geri Al", command = form)
buton.pack()
sonuc = Label(form)
sonuc.pack()
mainloop()
bu uyggulama da geri al butonunda butona tıklandığında yapılan işlemlerin geri alınmasını istiyorum ama olmuyor yardımcı olurmusunuz :-\ :-\