Published on : 10/02/24
I recieved a Computer Science Assignment, it is a Takuzu for school and I will be working with another person on it.
Written by Aline | Co-authored by Olivier
Updated 05/04/24
Une grille incomplète de taille 4x4 à 12x12 constituée de 0 et de 1, a compléter suivant les principes suivants :
taille // 2La grille est un fichier texte (.txt)
Constituée de 0, 1 ou 9 pour représenter une case vide
Une liste de liste représentant le fichier :
liste[[ligne1], [ligne2], [ligne...], [ligne n]]
Dans laquelle chaque sous liste représente une ligne et chaque élément des sous-listes représentent l’élément à l’emplacement liste colonne, le nombre de sous-listes équivaut au nombre de lignes (et de colonnes)
Fichiers :
1 Fichier pour le Generateur de Grille
1 Fichier pour le Solveur de Grille
1 Fichier pour le code partagé entre
La grille jouable est stockée dans un fichier texte (.txt) sous la forme de
nlignes denchiffres ou les chiffres sont soit des 0, des 1 ou des 9 (9 représentant une case vide) etnest la taille de la grille
On génère une grille vide de taille x*x puis on génère la liste de toutes les combinaisons possibles pour la grille ( 2**x possibilités ), on réduit la taille de la liste des combinaisons possible a une liste de toutes les combinaisons valides pour une grille de takuzu (vérification des règles). Remplissage de la grille avec cette methode.
Puis on effectue des rotations de la grille pour vérifier les lignes/colonnes et modifier au besoin avec une ligne valide si la ligne est fausse.
Le générateur fonctionne très bien avec des grilles 4 et 6, mais prends plus d’une minute 30 pour effectuer une grille 8. Le problème ne viens plus des vérifications et modifications mais d’optimisation du code.
Plusieures Difficultées :
| Id | Level | Modifiers |
|---|---|---|
| 1 | Easy ++ | retire 20% de la grille |
| 2 | Easy | retire 35% de la grille |
| 3 | Med | retire 50% de la grille |
| 4 | Difficult | retire 65% de la grille |
| 5 | Hard | retire 80% de la grille |
| 6 (Bonus) | HURT ME PLENTY | retire 95% de la grille |
| Status | Task | Sous-tache ? |
|---|---|---|
| ✔️(kinda) | générateur | ❎ |
| ✔️ | grille vide | ✔️ (générateur) |
| ✔️ | remplissage grille | ✔️ (générateur) |
| ✔️ | ajout difficultee | ✔️ (générateur) |
Soon™
Stoqué dans le fichier
shared.py