Bonjour, j'essaye de réaliser un sudoku mais je bloque, j'ai créer une fenêtre, et j'ai dessiné des lignes verticalement et horizontalement, 9 cases par lignes et colonnes.

Mon problème est, comment faire pour rentrer des chiffres à l'intérieur de ces cases ? Faut-il trouver la position de chaque case ?

Et savez vous comment faire pour sauter des lignes dans messagebox.showinfo ? J'ai chercher mais je trouve pas, normalement, on utilise \n mais ça ne marche pas du tout.

Merci de votre aide.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
from tkinter import*
from tkinter import messagebox
import tkinter as Tk
 
 
sudoku = Tk.Tk()
sudoku.title(" Sudoku ")
 
 
 
 
def About () : messagebox.showinfo (title="A propos", message = "Version 1.0")
def Comment_jouer () : messagebox.showinfo ("Comment jouer ?", "Le but du jeu est de remplir ces cases avec des chiffres allant de 1 à 9 en veillant toujours à ce qu'un même chiffre ne figure qu'une seule fois par colonne, une seule fois par ligne, et une seule fois par carré de neuf cases.")     
 
 
 
mainmenu = Tk.Menu(sudoku)
menu_partie = Tk.Menu(mainmenu)
menu_partie.add_command(label="Quitter le jeu", command=sudoku.destroy)
 
menu_help = Tk.Menu(mainmenu)
menu_help.add_command(label="Comment jouer", command= Comment_jouer)
menu_help.add_command(label=" A propos", command = About)
 
mainmenu.add_cascade (label= "Partie", menu=menu_partie)
mainmenu.add_cascade(label= "Aide", menu=menu_help)
 
 
sudoku.config(menu=mainmenu)
 
 
surface_dessin = Canvas(sudoku, width=480, height=480, bg='SaddleBrown', bd = 55, relief="ridge")
surface_dessin.pack()
 
 
scale = 480/9;
 
for i in range(0, 10):
    if (i!=4) and (i!=7) :
        surface_dessin.create_line(i*scale, 0, i*scale, 580, width =1);
    else :
        surface_dessin.create_line(i*scale, 0, i*scale, 580, width =3);
 
 
 
for j in range (0, 10) :
    if (j!=4) and (j!=7) :
        surface_dessin.create_line (0, j*scale, 580, j*scale, width = 1) ;
    else :
        surface_dessin.create_line (0, j*scale, 580, j*scale, width = 3) ;
 
 
 
 
 
 
 
 
 
 
 
 
sudoku.mainloop()