Aller au menu - Aller au contenu
> Le Site du Zéro > Les concours > C++ > Voir une œuvre

Fiche d'œuvre

Retour au concours

Œuvre

Téléchargement
Rendu le 05/07/2008 à 16:44:19

Titre : Sudoku
Concours : Le Sudoku : des nombres en folie !

Description de l'auteur

L'interface graphique de mon Sudoku est assez simple.
Un ensemble de QLineEdit sous forme de grille et 6 boutons qui permettent les actions suivantes:

Charger : Permet de charger un fichier contenant une grille. Pour qu'il soit affiché dans la fenêtre de chargement, le fichier doit avoir l'extension .txt ou .sdk. La structure du fichier est assez libre, le seule contrainte est que les 81 premiers caractères valides doivent correspondrent aux chiffres de la grille.
Ainsi seuls les caractères suivants sont pris en compte
1-9: numéro imposé
a-i: numéro proposé par le joueur
0: case vide
Le programme ferme le fichier après avoir lu 81 caractères. Cela permet d'ajouter des informations diverses au document à la fin de celui-ci.

Sauver : Enregistre la table actuelle dans un fichier respectant le format décrit ci-dessus.

Vérifier : Vérifie si la grille respecte les règles du sudoku. Elle indique donc que la grille est invalide si:
  • La grille n'est pas complète
  • Un chiffre apparaît plusieurs fois dans une même ligne
  • Un chiffre apparaît plusieurs fois dans une même colonne
  • Un chiffre apparaît plusieurs fois dans une même sous-grille


Solution : Résouds la grille proposé. Il est possible de verrouiller les cases proposées par le joueur, si le joueur ne demande pas de les verrouillée, celles-ci sont enlevées avant la résolution.
Il utilise la technique du backtracking pour résoudre la grille et indique qu'il n'y a aucune solution possible si la grille n'est pas possible. Par contre, si plusieurs solutions existe, une des solutions sera proposée.

À propos : affiche une fenêtre "A propos..."

Quitter : Quitte le programme.

La génération de grille n'a pas été implémentée dans ce programme.

Impression du jury

Côté code



Du très bon travail : non seulement le code est bien découpé (on n'a pas affaire à un énorme fichier source), mais en plus celui-ci est on ne peut plus lisible.

L'indentation est de qualité et, par dessus tout, on apprécie les commentaires. Il y a juste ce qu'il faut là où il le faut. :)

Il n'y a rien à redire dans l'ensemble sur les choix opérés par le développeur dans le code.

Côté interface



C'est assez sommaire malheureusement.

Il n'est pas des plus aisé de naviguer dans la grille. Celle-ci ne peut pas être vidée.

On peut certes charger un fichier, mais il est impossible de le tester en pratique car le programme est livré sans sudoku d'exemple !
On ne peut que se baser sur le code pour comprendre ce qui a été fait à ce niveau.

La vérification de la grille est implémentée et fonctionne, de même pour la résolution. Dommage qu'il manque l'aide à l'utilisateur, c'était assez facile à implémenter !

Détail des notes

Critère M@teo21 Moyenne
Total 23
Interface graphique 4 4
Vérification de la grille 6 6
Lisibilité du code 6 6
Aide à l'utilisateur 0 0
Lecture de la grille dans un fichier 2 2
Génération aléatoire de la grille 0 0
Résolution automatique de la grille 5 5