Published on : 11/02/24
Carnet de Bord du projet takuzu
Written by Olivier
Updated 05/04/24
Nous avons crées un fichier partagé afin que le groupe ait accès à l’ensemble des règles, des consignes et des idées que nous avons eu de manière efficace et synthétique. De plus, nous avons décidé de faire le programme ensemble en travaillant tout les deux sur chacun des fichiers afin de mieux comprendre le code de notre projet. Notre projet sera donc composé de 4 fichiers distincts:
____ à eu la merveilleuse idée qui est de générer la grille grâce au solveur, mais ____ nous à dit de ne pas générer le générateur à l’aide du solveur, nous sommes dévastés.
Creation d’un Repo Github pour le partage du code et la mise en commun
Petit plugin de collaboration en temps réel sur VSCode : Live Share (très pratique)
Nous avons tentés de trouver sur papier un moyen effficace de générer une grille de Takuzu, et suite à nos recherches, ____ à possiblement trouvé une solution qu’il va tenter d’adapter en code afin d’affirmer qu’il fonctionne. Nous sommes également en réflexion sur un moyen de faire le moins de vérifications possibles afin de gagner du temps sur la génération de notre grille. Nous devons perfectionner notre programme afin qu’il soit plus efficace (C’est-à-dire qu’une grille doit se générer en moins de 30 secondes).
Nous pensons le faire avec une vérification et une rectification générale en fin de génération, ligne par ligne puis colonne par colonne.
Nous avons trouvé une solution (arbre) (pas fonctionné)
Nous avons ensuite tentés de trouver une solution, en vain. Cependant, après environ deux semaines de recherches (et une quinzaine d’essais différents), nous avions trouvé une solution qui nous semblais correcte suite à une discussion que nous avons eu avec notre professeur. La limite de temps de 30 secondes sera surement respectée. (foreshadowing)
La mise en place de cette solution à été très dur, néammoins, après une dizaine d’heures de recherches acharnées ne menant nulle part, nous nous sommes rendus compte que le programme ne fonctionnait pas uniquememt à cause de l’appel d’une des fonctions (verif_000_111) qui avait été mal ecrite. Le programme marche donc à merveille dans la génération des grilles, même s’il reste un peu long lors de leur création. Désormais, il ne nous reste plus qu’à intégrer la question de la difficulté, qui ne nous semble pas extrèmmement dur à réaliser.
Finalement, le programme, même s’il prend un peu de temps, nous renvoie une grille de takuzu complète sans faute et avec les cases manquantes servant à créer de la difficulté. Désormais, il ne nous reste que le solveur à réaliser, mais étant donné notre expérience en takuzu et grâce à l’ensemble des fonctions que nous avons écrites durant ce projet, nous sommes confiants quant à la réussite de l’écriture du solveur.