#Avitsara Zafimamy Jary from Tkinter import* nb= 9# nombre de cases (grille carree) c=50 # dimension d'une case supposee carree x0,y0=20,20 #coordonnees du point en haut à  gauche tableau=[[], [], [], [], [], [], [], [], []] ########################################################################## #Partie fonctions def init(): for i in range(9): tableau[i]=[0, 0, 0, 0, 0, 0, 0, 0, 0] def grille(): for i in range(nb+1): can.create_line(x0+c*i, y0,x0+c*i,y0 + nb*c) can.create_line(x0, y0+c*i,x0+nb*c ,y0+c*i) b2.configure(state=DISABLED) if i==3 or i==6 or i==9: can.create_line(x0, y0+c*i,x0+nb*c ,y0+c*i,width=5) can.create_line(x0+c*i, y0,x0+c*i,y0 + nb*c,width=5) def new():# Fonction permettant de tracer la grille can.pack_forget() can.delete("0.0",END) can.delete(ALL) grille() def monquitter(): fen.quit() fen.destroy() def correspond(x,y): return (y-y0)/c, (x-x0)/c#Permet de faire correspondre le clic def ecrire(event):# Permet de savoir sur quelle case on a cliqué pour placer le chiffre [i,j]=correspond(event.x,event.y) if i in range(nb) and j in range (nb): e1.insert(END, str(i) + ", " + str(j)) else: e1.insert(END, "click en dehors de la grille") def jouer(event):# Pemet de récupérer le chiffre que le joueur va entrer [i,j]=correspond(event.x,event.y) chiffre=e2.get() tableau[i][j]=chiffre can.create_text (y0 +c*(j+.5),x0+c*(i+.5),text=tableau[i][j],font=("helvetica",15,"bold")) ################################################################################# #Partie tkinter fen=Tk() can=Canvas(fen,height=500,width=500,bg="white") can.grid(row=1,column=3) b2=Button(fen,text="demarrer une partie",command=new) b2.grid(row=2,column=3) b1=Button(fen,text="Quitter",command=monquitter) b1.grid(row=7,column=3) b3=Label(fen,text="où voulez-vous saisir votre chiffre?") b4=Label(fen,text="saisissez votre chiffre") e2=Entry(fen) b3.grid(row=3,column=3) b4.grid(row=5,column=3) e2.grid(row=6,column=3) can.bind("",jouer) fen.mainloop()