1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| from tkinter import*
from random import*
ecriture=("comic sans ms",13)
nbcase=4
case=100
x0,y0=9,9
chifre=[1,2,3,4]
def fin ():
fenetre.quit()
fenetre.destroy()
def grille():
for i in range(nbcase+1):
Can.create_line(x0+case*i, y0,x0+case*i,y0 + nbcase*case)
Can.create_line(x0, y0+case*i,x0+nbcase*case ,y0+case*i)
def donne_position(event):
TexteC.delete("0.0",END)# on efface l'écriture précédente
TexteC.insert(END,"clic detecte en x="+str(event.x) + " et y = " + str(event.y))
a=(event.x)//100
b=(event.y)//100
print(a,b)
def jouer(event):
global trouve
[i,j]=correspond(event.x,event.y)
if i in range(nb) and j in range (nb): # on ne fait rien si le click est hors grille
Can.create_rectangle(x0 +c*j,y0+c*i,x0 +c*(j+1),y0+c*(i+1),fill=coul(i,j))
current = None
def display(x):
def wrap():
global current
current = x
return wrap
def insert(event):
global a,b
text = current
Can.create_text(a,b,text=text)
fenetre=Tk()
Cadre=Frame(fenetre)
Texte1=Label(fenetre,text="Jeu du Sudoku",fg="red",font=ecriture)
BouttonQuit=Button(fenetre,text="quitter", command=fin)
BouttonJouer=Button(fenetre,text="jouer", command=grille)
TexteC=Text(fenetre,height=25,width=25)
Can=Canvas(Cadre,height=500,width=500,bg="white")
Bouton1=Button(fenetre,text="1",command=display('1'))
Texte1.grid(row=0,column=0)
BouttonQuit.grid(row=50, column=100)
Cadre.grid(row=1,column=0)
Can.grid(row=2, column=0)
BouttonJouer.grid(row=0, column=50)
TexteC.grid(row=1, column=3)
Bouton1.grid(row=45,column=49)
Can.bind("<Button-1>",donne_position)
Can.bind("<Button-1>",insert)
fenetre.mainloop() |