-- journale de bord de mon projet
-
1 (18/03/2025) j'ai cree mon espace de depot git
-
2 (19/03/2025) j'ai inviter la charge de TD
-
3 mis a jour du plateau et ajout des voiture en verifiant le non chevauchement 27/03/2025 reinitialisation de ma grille due au problement de alliasing ajout de la fonction de deplacement mais c'est pas tout a fait au point
-
4 (10/04/2025) mis a jours de la classe plateau , ajout d'un fichier (configuration ) qui contient certains niveau du jeu .
-
5 12/04/2025 ajout de solveur et des modules qui me permettrons d'utiliser cetain methos=des sur les files
-
6 (15/04/2025) ajout d'un nuveau fichier lanceur qui permet de lancer le jeu et correction du solveur qui fonctionne bien maintenat
-- explication du projet
le projet consiste a programmer un jeu connus sous le nom de '''' notre travaille consiste a trouver les mouvement qui on permis de trouver la solution du jeu . dans ce qui va suivre je vais exposer clairement comment est organiser mon programmme en decrivant les differents fichier, methode et fonction qui m'on permis de concevoir ce projet
- les classes utiliser sont * class voiture contenant les les atribut (couleur, position, taille, orientation) * class plateau contenant les methodes suivantes : (afficher_grille(),verifie_position_valide(), ajouter_voiture(), remplir_grille(), recharger_etat(), deplacement2(), copie() ) * le fichier solveur qui contient les fonctions suivante (etat_plateau(), est_sortie,tout_deplacement_possible(), aplication_du_deplacement(), solveu() ) * le fichier configuration qui contient (les configurarioon a resoudre, et une fonction,charger_niveau() ) * le fichier ApQueue qui contient les methode qu'on peut utiliser sur lae files * le fichier ApStak qui contient les fonctions qui permet d'utiliser les pile mais on ne l'utilise pas dans le projet -- role de chaque methode et fonction -- les fonctions
charger_niveau(niveau) :
Charge un niveau parmi les préconfi gurations (1, 2, 38, 39, 40).
etat_plateau(plateau) :
Retourne un tuple représentant l’état actuel du plateau (positions des voitures).
est_sortie(plateau) :
Vérifie si la voiture rouge ("Zrouge") est sortie du plateau (à la colonne 5).
tout_deplacement_possible(plateau) :
Liste tous les déplacements possibles pour chaque voiture sur le plateau.
aplication_du_deplacement(plateau, couleur, direction1) :
Applique un déplacement à une copie du plateau et retourne le nouveau plateau.
solveur(plateau_initial) :
Résout le niveau automatiquement à l’aide d’un algorithme de recherche en largeur .
Retourne le chemin de mouvements (liste de déplacements).
appliquer_solution(plateau, solution) :
Applique la solution trouvée (liste de déplacements) au plateau.
-- les methodes
-- Méthodes importantes de la classe Plateau
__init__() :
Initialise un plateau vide avec une grille 6x6.
afficher_grille() :
Affiche le plateau sous forme de grille lisible.
verifie_position_valide(ligne, colonne, taille, orientation) :
Vérifie si une voiture peut être placée à une position donnée.
ajouter_voiture(voiture) :
Ajoute une voiture au plateau si sa position est valide.
remplir_grille() :
Met à jour la grille en plaçant les voitures.
recharger_etat(etat) :
Recharge l’état du plateau à partir d’un état donné (tuple de positions).
deplacement2(couleur, direction) :
Tente de déplacer une voiture d'une case dans une direction.
Retourne True si le déplacement a réussi.
copie() :
Crée et retourne une copie indépendante du plateau.