Aller au menu - Aller au contenu

Fiche d'œuvre

Retour au concours

Œuvre

Téléchargement
Rendu le 29/07/2008 à 11:59:52

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

Description de l'auteur

Pangoku



Ce que le programme peut faire



-Generer aléatoirement une grille.
-Revenir en arriere/avant.
-Enregistrer/Charger une grille en conservant la fixation de certaines cases. Enregistrer une grille de l'utilisateur( l'utilisateur peut choisir de fixer ou defixer des cases)
-L'interface permet de rentrer un seul chiffre par case avec le clavier, mais aussi avec la souris en double-cliquant sur la case.
-Avec fichier nouvelle grille, le programme charger une grille de taille 4x4,9x9,16x16,25x25 a la demande de l'utilisateur et demande au moment de l'ouverture si l'utilisateur souhaite generer une grille aléatoirement.
-Verifier si la grille est reussi.
-Resoudre la grille par lui-meme (toutes les grilles : facile, moyen, difficile, diabolique).
-Il possede plusieurs grilles enregistré qu'il peut charger avec fichier : charger une grille.
-Il possede plusieurs options d'aide a l'utilisateur :
*Il affiche les erreurs en rouge (exemple : si il y a deux 4 sur le meme ligne il les affiche en rouge)
*Il affiche les valeurs d'aide d'une part (affichage;afficher les valeurs d'aide), c'est a dire que pour une grille de 9x9, il affiche les chiffres 1,2,3,4,5,6,7,8,9. D'autre part en appuyant sur grille;calculer les valeurs d'aides, il affiche les seuls valeurs possibles pour chaque cases.
Tout cela pour avoir plusieur niveau d'aide ;) . J'oubliais, quand on affiche les valeurs d'aides (sans les calculer), on peut les calculer sur une seul case en faisant plusieurs clic droit dessus pour les faire apparaître une à une.
-Il possedent plusieurs propriétés d'affichage :
*l'affichage alphabetique (1 à 9 devient A à I)
*Pour les grilles 16*16, il propose d'afficher soit 1-9 A-G, soit 0-9 A-F
*Il propose pour les grilles 25*25 de changer le caractere inutilisé (par défaut il utilise A-Y (car il y a 26 lettres dans l'alphabet :D ) mais par exemple on peut choisir A comme caractère inutilisé et ds ce cas il utilisera B-Z)
-Et c'est tout... Enfin tout les points obligatoires et facultatifs sont remplis.

Quelques screenshots pour montrer



Image utilisateur
Image utilisateur
Image utilisateur

Impression du jury

Un projet bien organisé, avec uniquement les fichiers nécessaires à la compilation et qui compile du premier coup : bravo, vous venez déjà de passer le premier test avec brio ! :D


Côté code et compilation



On notera un certain nombre de warnings qui ne sont pas du plus bel effet, et c'est fort dommage car parfois il s'agit d'oublis bêtes (variables inutilisées par exemple).

Ceci étant, le code source est un vrai plaisir à regarder : commenté comme il faut, ni trop ni pas assez, clair, il suit des conventions de nommage et s'y tient. De plus, le code est découpé de façon modulaire ce qui le rend plus facile à maintenir.
Le travail d'équipe a donc été efficace et vous avez su éviter les pièges de base, comme par exemple ne pas vous entendre sur la façon de développer.

Côté code donc, c'est juste vraiment du bon travail. On notera la présence d'un widget personnalisé pour gérer le sudoku, ce qui était probablement le meilleur défi que pouvaient se lancer des développeurs de votre niveau.

Voyons voir le résultat d'un point de vue utilisateur, ça a l'air prometteur !


Côté utilisateur



Le programme est sobre et efficace. Petite curiosité : seul le monde "edit" est en anglais, allez savoir pourquoi. ;)
Sans être eye-candy, il est dommage d'avoir une couleur bleue aveuglante derrière la grille de sudoku.

On peut charger une grille parmi celles disponibles, classées par niveau, ou bien en générer une aléatoirement.
Il est un peu dommage que la fenêtre ne se redimensionne pas à la bonne taille lorsque la grille est chargée, on doit le faire à la main.

Le widget du sudoku est une vraie réussite, bravo ! On peut remplir avec ou sans aide, repérer immédiatement les nombres en double, corriger / effacer, bref, le widget est nickel.
Ajoutez à ça la possibilité d'annuler / refaire, et vous l'aurez compris, le programme est un vrai plaisir à utiliser.

Enfin, pour ne rien gâcher, il propose plusieurs tailles de grilles, un mode alphabétique et une correction automatique. Du bon travail !

On regrettera un peu de manque de détails sur la façon dont la grille a été résolue (on a un log, mais il est sommaire) et l'absence de choix au niveau de la difficulté de la génération de la grille, bien que ce soit un sujet très complexe je vous l'accorde. ;)

Détail des notes

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