Bonjour
Voila pour la fac on doit creer un jeu d'echec en ada
Seulement il y a des contrainte
On doit utilisé une fonction qui prend en parametre plusieur files (dans pieces) et qui renvoie un morceau de ces files (en gros la file de base represente tout les mouvement d'une piece et la file a renvoyer les deplacement possible selon sa position)
Le probleme est que pour recuperer une partie de la file il faut la defiler or je ne peut pas vue que c'est un parametre de la fonction
Voila le code pouvez vous m'aider?
et voila les structures
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 FUNCTION GetListeDeplacementsPossibles (Plateau : TPlateau; Piece : TPiece) RETURN TFileCasePossibles IS DeplacementPossiblePiece : TFileCasePossibles; Temporaire : FileDeDeplacement; BEGIN DeplacementPossiblePiece.PieceConcerne:=Piece; EffaceFile(Temporaire); WHILE (FileVide(Piece.Deplacement.ListeHaut)=False) LOOP Enfiler(DeplacementPossiblePiece.DeplacementPossible.ListeHaut, LireSommet(Piece.Deplacement.ListeHaut)); Enfiler(Temporaire, LireSommet(Piece.Deplacement.ListeHaut)); Defiler(Piece.Deplacement.ListeHaut); END LOOP; WHILE (FileVide(Temporaire)=False) LOOP Enfiler(Piece.Deplacement.ListeHaut, LireSommet(Temporaire)); Defiler(Temporaire); END LOOP;
Le plateau n'est pas encore utilise vue que je n'arrive pas a trouver de solution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 PACKAGE PackFileDeplacement IS NEW PackFile (TCoordonnees, 7, AfficheCoordonnees); USE PackFileDeplacement; TYPE FileDeDeplacement IS NEW PackFileDeplacement.TFile; TYPE TListeDeplacement IS RECORD ListeHaut: FileDeDeplacement; ListeBas: FileDeDeplacement; ListeDroite: FileDeDeplacement; ListeGauche: FileDeDeplacement; ListeHautDroite: FileDeDeplacement; ListeBasDroite: FileDeDeplacement; ListeHautGauche: FileDeDeplacement; ListeBasGauche: FileDeDeplacement; END RECORD; TYPE TPiece IS RECORD Valeur : TValeur; Couleur : TCouleur; Position : TCoordonnees; Deplacement: TListeDeplacement; END RECORD;




Répondre avec citation
Partager