# Autres langages > Python > GUI >  Sudoku avec interface

## Temari8

Bonsoir, 
Je fais de nouveaux appel  vous, cette fois ci pour mon projet de bac.(Merci encore pour votre aide sur les prcdents programmes, cela m'a bien servi.)
Comme prcis dans l'intitul, je dois programmer un Sudoku avec interface.
Ma premire question est assez vaste, en fait je ne sais pas par ou commencer, j'ai une ide de la structure finale du programme, mais je ne sais pas quelle tche effectuer en premier  ::?: 
Merci d'avance

----------


## Bktero

Bienvenu dans le monde de la conception.

Il faut dj dfinir ce que ton sudoku sera capable de faire : gnrer des grilles automatiquement, avoir une liste de grilles prdfinies, quels boutons sur l'interface pour dmarrer / recommencer une partie, comment se fait la vrification de la grille ( la fin, au fur et  mesure), sera t-il capable de montrer les erreurs (en colorant une case, une ligne, une sous-grille), un chronomtre pour connaitre son temps de rsolution, un mode original genre contre-la-montre ?

Tu as une partie algo pour la vrification.

Tu as une partie sur le choix du framework graphique et sa prise en main si tu n'en maitrises pas dj un.

Cerveau, papier, crayon, en avant ! Le code viendra plus tard.

----------


## Temari8

Je dois programmer l'interface avec Tkinter.
Je pensais partir sur une liste de grilles prdfinies, avec 3 niveaux de difficult(et 3 grilles par niveaux).
Je voudrais inclure la possibilit de choisir le niveau, recommencer une nouvelle/la mme partie grce a des boutons sur l'interface. 
Je pensais  crer une zone de saisie sur l'interface galement, on clique sur une case de la grille et on rentre le chiffre voulu dans la zone de saisie.
Je voulais galement que le vrification de la grille puisse se faire au fur et a mesure(mode aide) OU  la fin(mode sans aide), le choix se ferait depuis l'interface, mais je pense que dans un premier temps, il serait plus raisonnable de programmer uniquement une vrification finale.
Voil les premires ides, je ne me rend pas bien compte de ce qui est ralisable ou pas pour le moment,... 
Il me semble que commencer par crer les bibliothques de grilles serait une bonne ide, je ne suis pas plus avance... 
Je me pose pas mal de questions, a quel moment programmer l'interface(avant, aprs , pendant? ), par o commencer ?
Merci pour l'aide que vous pourrez m'apporter.

----------


## Bktero

A l'exception peut-tre du mode aide qui demandera un peu de rflexion, le reste est ralisable de suite. Prend des tuto sur Tkinter, apprend  faire des boutons et  y associer des actions,  faire des zones de textes,  afficher une grille de zone de textes, etc. D'autre part, dfinit le modle de donnes de ta grille (une matrice sans doute), fais l'algo qui prend une grille et qui vrifie si elle est correctement remplie ou pas. Regarde le patron MVC, il te sera utile : http://fr.wikipedia.org/wiki/Modle-vue-contrleur

Code par tape et vrifie bien  chaque tape que tout fonctionne.

Bon courage.

----------


## Temari8

Bonjour, j'ai commenc par creer une interface, voila le code(dsole pour l'indentation):



```

```

J'aimerais savoir comment on fait pour importer des grilles prdfinies dans mon interface, j'ai commenc par crer un fichier texte avec un seul modle de grille pour le moment, mais je ne sais pas si c'est la bonne solution. Merci pour votre aide.

----------


## Bktero

Avant d'importer des grilles, il te faudrait dfinir une grille, avec une classe Grille, peut-tre ? Je ne vois rien de tel dans ton code.

----------


## Temari8

J'ai pris en compte votre notification.
Une classe grille, c'est  dire ?

----------


## Bktero

_Oh come on!_

Tu sais ce qu'est une classe ? Si non, il serait bon de se renseigner sur la programmation oriente objet. Python permet un tel type de programmation et cela te sera forcment utile pour ton programme.

Comment reprsentes-tu la grille ? Les cases avec des nombres dedans, que tu peux remplir, vider, vrifier, etc...

----------


## Temari8

J'ai avanc comme j'ai pu , j'ai cre un fichier texte avec un exemple de grille et une fonction qui appelle ce fichier dans le programme. Je sais que ce n'est pas la meilleure solution mais je ne peux pas faire mieux. J'ai un problme je n'arrive pas  manipuler les coordonnes pour que les chiffres se place correctement dans la grille :




```

```

Merci beaucoup d'avoir rpondu  mes questions.

----------

