Description de l'auteur
SuDoKu est un projet réalisé pour le concours du site du zéro.
Les grilles seront générées et masquées aléatoirement selon un niveau choisi par le joueur. On pourra jouer avec des grilles de différentes taille (4*4, 9*9 et 16*16). Il sera aussi possible d'enregistrer une partie et de la charger ansi que d'imprimer des grilles. Le Joueur pourra soit jouer à une partie normale générée par l'application soit il pourra rentrer sa propre grille (qui doit vérifier les contraintes) pour ensuite la joué ou la résoudre. Pour l'apprentissage en lui meme je tenterrai de faire deux méthodes de résolutions (backtracking et forward checking mais pour le second c'est pas gagné

). Un chronometre sera mis pour que le joueur puisse savoir le temps qu'il met à la résolution du sudoku.
Pour accélérer la génération des grilles les plus longues j'ai déssidé de mettre des threads qui générent une grille pendant que le joueur est sur la page de garde ou alors est en train de résoudre un sudoku.
Impression du jury
Très bonne structure d'archive (un peu trop même, car la plupart des dossiers seront créés par qmake).
Voyons le code maintenant.
Côté code
Alors là, je suis bluffé.
Indentation homogène, commentaires doxygen, les fichiers ont des noms clairs et précis.
Le gros point noir (si c'en est un) est le mélange anglais/français pour ce qui est du nom des variables/classes.
Compilation
Tout bonnement impossible, car le fichier .pro recense des fichiers qui n'existent pas (Compair.h et Compair.cpp).
Après avoir supprimé toutes les références à ces fichiers (dans le .pro et un simple #include dans GrilleModel.h) la compilation se passe parfaitement.
Côté utilisateur
Le lancement est anarchique, avec une musique en cours, on a l'impression d'avoir un CD rayé qui répète les mêmes 3 secondes en boucle (probablement à cause des deux threads en Highest Priority).
Une interface simple (trop simple ?) mais efficace, on trouve ce que l'on cherche et l'aide à l'utilisateur est tout simplement géniale.
Le redimensionnement de la fenêtre en fonction de la taille de la grille est une bonne chose, ainsi que l'ordre de tabulation qui se fait par zone et non par ligne.
La génération/résolution des grilles 4x4 et 9x9 est très bien. Mais en 16x16 c'est une autre pair de manche, la génération est, par moment, foireuse et la résolution (quand la génération n'a pas fait n'importe quoi) est, elle aussi par moment, foireuse.
Par foireuse, j'entends des cases contenant des nombres aberrants comme "-603727869" ou encore "1359302405".
Il est impossible de charger des sudoku à partir d'un fichier, on peut seulement charger ceux qu'on a sauvegardés (qui sont stockés je ne sais où). L'affichage des valeurs possibles ne marche pas.
La résolution "pas-à-pas" est une très bonne chose, mais si on remplit des cases avec des valeurs fausses, elle ne marche plus (et elle ne modifie pas les cases fausses).
En conclusion
une interface un peu plus stylisée et une éradication des bugs lors des grilles 16x16 ferait le plus grand bien à ce programme prometteur.