Skip to content
Snippets Groups Projects
-- 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.