Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package body p_vue_graph is
- procedure InitFenetreAccueil(Facc : in out TR_Fenetre) is
- begin
- Facc := DebutFenetre("Selection Niveau",400,100);
- AjouterChamp(Facc,"niveau","indiquer niveau","",100,10,280,30);
- AjouterBouton(Facc,"BoutonV","Valider",40,100,70,30);
- AjouterBouton(Facc,"BoutonQ","Quitter",290,100,70,30);
- AjouterBouton(Facc,"BoutonR","Comment jouer",150,100,100,30);
- AjouterTexte(Facc,"Erreur","",122,45,150,20);
- AjouterTexte(Facc,"Erreur2","",160,65,150,20);
- FinFenetre(Facc);
- end InitFenetreAccueil;
- --initialisation de la fenetre d'Accueil, placement des différents elements
- procedure InitFenetreWin(Fwin : in out TR_Fenetre) is
- begin
- Fwin := DebutFenetre("win",400,100);
- AjouterTexte(Fwin,"MessageWin","Felicitation vous avez gagne !",100,40,200,22);
- AjouterBouton(Fwin,"BoutonNewGame","Nouvelle Partie",50,80,100,30);
- AjouterBouton(Fwin,"BoutonQuitter","Quitter",280,80,70,30);
- FinFenetre(Fwin);
- end InitFenetreWin;
- --initialisation de la fenetre de Victoire, placement des différents elements
- procedure InitFenetreJeu(Fjeu : in out TR_Fenetre) is
- u,v : integer := 0;
- NewLine : constant Character := Character'Val (10);
- begin
- Fjeu := DebutFenetre("TWIST",1280,720);
- AjouterTexteAscenseur(Fjeu,"Messageerreur","","",50,640,310,50); --lieu du message d'erreur si le placement est impossible
- for i in 1..4 loop
- for j in T_col'range loop
- AjouterBouton(Fjeu,'C'&j & integer'image(i),"",50+80*(character'pos(j)-65),50+80*(i-1),80,80);
- AjouterBoutonRond(Fjeu,'D'&j&integer'image(i),"",62+80*(character'pos(j)-65),50+80*(i-1),80,80);
- ChangerCouleurFond(Fjeu,'C'&j & integer'image(i),FL_BOTTOM_BCOL);
- ChangerCouleurFond(Fjeu,'D'&j & integer'image(i),FL_WHITE);
- end loop;
- end loop;
- --initialisation de la grille, placement des cases
- for k in 1..8 loop
- if k mod 2 = 1 then
- AjouterBouton(Fjeu,'P'&integer'image(k),"",800,50+150*u,150,150);
- ChangerCouleurFond(Fjeu,'P'&integer'image(k),FL_BOTTOM_BCOL);
- for i in 1..4 loop
- for j in 1..4 loop
- AjouterBoutonRond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),"",806+35*(j-1)+3,50+150*u+35*(i-1)+6,35,35);
- ChangerCouleurFond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),FL_WHITE);
- AjouterBoutonRond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),"",806+35*(j-1)+8,50+150*u+35*(i-1)+13,20,20);
- ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- end loop;
- end loop;
- u := u + 1;
- else
- AjouterBouton(Fjeu,'P'&integer'image(k),"",1070,50+150*v,150,150);
- ChangerCouleurFond(Fjeu,'P'&integer'image(k),FL_BOTTOM_BCOL);
- for i in 1..4 loop
- for j in 1..4 loop
- AjouterBoutonRond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),"",1076+35*(j-1)+3,50+150*v+35*(i-1)+6,35,35);
- ChangerCouleurFond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),FL_WHITE);
- AjouterBoutonRond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),"",1076+35*(j-1)+8,50+150*v+35*(i-1)+13,20,20);
- ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- end loop;
- end loop;
- v := v + 1;
- end if;
- end loop;
- --initialisation des pieces, placement des matrices pour les pieces
- AjouterBouton(Fjeu,"BoutonRegle","Regle",800,700,150,30);
- AjouterBouton(Fjeu,"BoutonQuitter","Quitter",1070,700,150,30);
- u := 0;
- v := 0;
- for k in 1..4 loop
- if k mod 2 = 1 then
- AjouterBouton(Fjeu,'R'&integer'image(k),"",380,420+160*u,150,150);
- ChangerCouleurFond(Fjeu,'R'&integer'image(k),FL_BOTTOM_BCOL);
- for i in 1..4 loop
- for j in 1..4 loop
- AjouterBoutonRond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),"",386+35*(j-1)+3,420+160*u+35*(i-1)+6,35,35);
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_WHITE);
- AjouterBoutonRond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),"",386+35*(j-1)+8,420+160*u+35*(i-1)+13,20,20);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_LEFT_BCOL);
- end loop;
- end loop;
- u := u + 1;
- else
- AjouterBouton(Fjeu,'R'&integer'image(k),"",540,420+160*v,150,150);
- ChangerCouleurFond(Fjeu,'R'&integer'image(k),FL_BOTTOM_BCOL);
- for i in 1..4 loop
- for j in 1..4 loop
- AjouterBoutonRond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),"",546+35*(j-1)+3,420+160*v+35*(i-1)+6,35,35);
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_WHITE);
- AjouterBoutonRond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),"",546+35*(j-1)+8,420+160*v+35*(i-1)+13,20,20);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_LEFT_BCOL);
- end loop;
- end loop;
- v := v + 1;
- end if;
- end loop;
- --initialisation des rotations, placement des matrices pour les pieces
- AjouterTexteAscenseur(Fjeu,"messagejeu","","",50,420,310,184); --creation zone de texte pour les consignes
- ChangerContenu(Fjeu,"messagejeu",
- " 1. Cliquer sur une piece puis une case sur"&NewLine&" la grille pour la placer."&NewLine&
- " 2. Cliquer directement sur une piece de la"&NewLine&" grille pour la retirer."&NewLine&
- " 3. Cliquer sur une piece puis selectionne la"&NewLine&" rotation que vous souhaitez pour la faire"&NewLine&" tourner."&NewLine&
- " 4. Pour le placecement, selectionnez une"&NewLine&" piece et cliquer sur la case de la grille"&NewLine&" correspondant au coin haut gauche de"&NewLine&" votre piece.");
- FinFenetre(FJeu);
- --initialisation des consignes
- end InitFenetreJeu;
- procedure InitNiveau(Fjeu : in out TR_Fenetre;f : in out text_io.file_type;numdefi : in positive;G : out TV_Grille) is
- begin
- reset(f,in_file);
- InitGrille(G);
- InitJeu(f,numdefi,G);
- end InitNiveau;
- --initialisation du niveau selectionner par le joueur
- procedure AfficheGrille(Fjeu : in out TR_Fenetre;V : in TV_Grille;VP : in TV_Piece) is
- begin
- for i in T_lig'range loop
- for j in T_col'range loop
- if V(i,j).piece = 0 and V(i,j).fiche = noir then
- ChangerCouleurFond(Fjeu,'D'&j & integer'image(i),FL_BOTTOM_BCOL);
- ChangerCouleurFond(Fjeu,'C'&j & integer'image(i),FL_BOTTOM_BCOL);
- elsif V(i,j).piece = 0 and V(i,j).fiche = rouge then
- ChangerCouleurFond(Fjeu,'D'&j & integer'image(i),FL_RED);
- ChangerCouleurFond(Fjeu,'C'&j & integer'image(i),FL_BOTTOM_BCOL);
- elsif V(i,j).piece = 0 and v(i,j).fiche = jaune then
- ChangerCouleurFond(Fjeu,'D'&j & integer'image(i),FL_YELLOW);
- ChangerCouleurFond(Fjeu,'C'&j & integer'image(i),FL_BOTTOM_BCOL);
- elsif V(i,j).piece = 0 and V(i,j).fiche = bleu then
- ChangerCouleurFond(Fjeu,'D'&j & integer'image(i),FL_DODGERBLUE);
- ChangerCouleurFond(Fjeu,'C'&j & integer'image(i),FL_BOTTOM_BCOL);
- elsif V(i,j).piece = 0 and V(i,j).fiche = vert then
- ChangerCouleurFond(Fjeu,'D'&j & integer'image(i),FL_GREEN);
- ChangerCouleurFond(Fjeu,'C'&j & integer'image(i),FL_BOTTOM_BCOL);
- else
- if VP(V(i,j).piece).coul = rouge then
- ChangerCouleurFond(Fjeu,'C'&j & integer'image(i),FL_RED);
- ChangerCouleurFond(Fjeu,'D'&j & integer'image(i),FL_RED);
- elsif VP(V(i,j).piece).coul = jaune then
- ChangerCouleurFond(Fjeu,'C'&j & integer'image(i),FL_YELLOW);
- ChangerCouleurFond(Fjeu,'D'&j & integer'image(i),FL_YELLOW);
- elsif VP(V(i,j).piece).coul = bleu then
- ChangerCouleurFond(Fjeu,'C'&j & integer'image(i),FL_DODGERBLUE);
- ChangerCouleurFond(Fjeu,'D'&j & integer'image(i),FL_DODGERBLUE);
- elsif VP(V(i,j).piece).coul = vert then
- ChangerCouleurFond(Fjeu,'C'&j & integer'image(i),FL_GREEN);
- ChangerCouleurFond(Fjeu,'D'&j & integer'image(i),FL_GREEN);
- end if;
- end if;
- end loop;
- end loop;
- end AfficheGrille;
- --mise en place des couleurs sur la grille en fonction du niveau selectionne ainsi que de la presence d'une piece ou non
- procedure InitRegle(Freg : in out TR_Fenetre) is
- begin
- Freg := DebutFenetre("Regle",500,150);
- Ajoutertexte(Freg,"regle1","Le defi consiste a completer l'interieur du plan de jeu avec les",58,40,460,20);
- Ajoutertexte(Freg,"regle2","8 pieces de couleur, tout en associant les points de couleurs avec",50,60,460,20);
- Ajoutertexte(Freg,"regle3","les parties trouees des pieces, vous pouvez tourner les pieces.",60,80,460,20);
- AjouterBouton(Freg,"BoutonQuitter","Quitter",175,130,150,30);
- FinFenetre(Freg);
- end InitRegle;
- --initialisation de la fenetre de Regle, placement des différents elements
- procedure AffichePiecesNonPlacees(Fjeu : in out TR_Fenetre;VP : in TV_Piece) is
- begin
- for k in 1..8 loop
- if VP(k).place then
- ChangerCouleurFond(Fjeu,'P'&integer'image(k),FL_BOTTOM_BCOL);
- for i in 1..4 loop
- for j in 1..4 loop
- ChangerCouleurFond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),FL_WHITE);
- ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_LEFT_BCOL);
- end loop;
- end loop;
- --si la piece est sur la grille la matrice devient vierge
- else
- for i in 1..4 loop
- for j in 1..4 loop
- if VP(k).mat(i,j) = vide then
- ChangerCouleurFond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- elsif VP(k).mat(i,j) = plein then
- if VP(k).coul = rouge then
- ChangerCouleurFond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- elsif VP(k).coul = vert then
- ChangerCouleurFond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- elsif VP(k).coul = jaune then
- ChangerCouleurFond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- else
- ChangerCouleurFond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- end if;
- else
- ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- if VP(k).coul = rouge then
- ChangerCouleurFond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- elsif VP(k).coul = vert then
- ChangerCouleurFond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- elsif VP(k).coul = jaune then
- ChangerCouleurFond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- else
- ChangerCouleurFond(Fjeu,'P'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- end if;
- end if;
- end loop;
- end loop;
- end if;
- end loop;
- end AffichePiecesNonPlacees;
- --initialisation des couleurs des pieces non placees
- procedure AffichePieceRotD(Fjeu : in out TR_Fenetre;VP : in out TV_Piece; nump : in T_NumPiece;mat : in out TV_Matrice) is
- k : integer := 2;
- begin
- RotD(mat,VP,nump);
- for i in 1..4 loop
- for j in 1..4 loop
- if mat(i,j) = vide then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- elsif mat(i,j) = plein then
- if VP(nump).coul = rouge then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- elsif VP(nump).coul = vert then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- elsif VP(nump).coul = jaune then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- else
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- end if;
- else
- if VP(nump).coul = rouge then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- elsif VP(nump).coul = vert then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- elsif VP(nump).coul = jaune then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- else
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- end if;
- end if;
- end loop;
- end loop;
- end AffichePieceRotD;
- --initialisation des couleur de la piece selectionner par le joueur, cette derniere ayant subit une rotation sur la droite
- procedure AffichePieceRotG(Fjeu : in out TR_Fenetre;VP : in out TV_Piece; nump : in T_NumPiece;mat : in out TV_Matrice) is
- k : integer := 1;
- begin
- RotG(mat,VP,nump);
- for i in 1..4 loop
- for j in 1..4 loop
- if mat(i,j) = vide then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- elsif mat(i,j) = plein then
- if VP(nump).coul = rouge then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- elsif VP(nump).coul = vert then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- elsif VP(nump).coul = jaune then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- else
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- end if;
- else
- if VP(nump).coul = rouge then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- elsif VP(nump).coul = vert then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- elsif VP(nump).coul = jaune then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- else
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- end if;
- end if;
- end loop;
- end loop;
- end AffichePieceRotG;
- --initialisation des couleur de la piece selectionner par le joueur, cette derniere ayant subit une rotation sur la gauche
- procedure AffichePieceRetH(Fjeu : in out TR_Fenetre;VP : in out TV_Piece; nump : in T_NumPiece;mat : in out TV_Matrice) is
- k : integer := 3;
- begin
- RetH(mat,VP,nump);
- for i in 1..4 loop
- for j in 1..4 loop
- if mat(i,j) = vide then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- elsif mat(i,j) = plein then
- if VP(nump).coul = rouge then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- elsif VP(nump).coul = vert then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- elsif VP(nump).coul = jaune then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- else
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- end if;
- else
- if VP(nump).coul = rouge then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- elsif VP(nump).coul = vert then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- elsif VP(nump).coul = jaune then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- else
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- end if;
- end if;
- end loop;
- end loop;
- end AffichePieceRetH;
- --initialisation des couleur de la piece selectionner par le joueur, cette derniere ayant subit un retournement horizontal
- procedure AffichePieceRetV(Fjeu : in out TR_Fenetre;VP : in out TV_Piece; nump : in T_NumPiece;mat : in out TV_Matrice) is
- k : integer := 4;
- begin
- RetV(mat,VP,nump);
- for i in 1..4 loop
- for j in 1..4 loop
- if mat(i,j) = vide then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- elsif mat(i,j) = plein then
- if VP(nump).coul = rouge then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- elsif VP(nump).coul = vert then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- elsif VP(nump).coul = jaune then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- else
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- end if;
- else
- if VP(nump).coul = rouge then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- elsif VP(nump).coul = vert then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- elsif VP(nump).coul = jaune then
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- else
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
- end if;
- end if;
- end loop;
- end loop;
- end AffichePieceRetV;
- --initialisation des couleur de la piece selectionner par le joueur, cette derniere ayant subit un retournement vertical
- procedure AffichePieceTourner(Fjeu : in out TR_Fenetre;VP : in out TV_Piece;nump : in T_NumPiece;matRotD : in out TV_Matrice;matRotG : in out TV_Matrice;matRetV : in out TV_Matrice;matRetH : in out TV_Matrice) is
- begin
- AffichePieceRotD(Fjeu,VP,nump,matRotD);
- AffichePieceRotG(FJeu,VP,nump,matRotG);
- AffichePieceRetV(Fjeu,VP,nump,matRetV);
- AffichePieceRetH(Fjeu,VP,nump,matRetH);
- end AffichePieceTourner;
- --affichage des couleur de la piece selectionner par le joueur sur les matrices prevu a cet effet
- procedure ReinitTransfo(Fjeu : in out TR_Fenetre) is
- begin
- for k in 1..4 loop
- for i in 1..4 loop
- for j in 1..4 loop
- ChangerCouleurFond(Fjeu,'R'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- ChangerCouleurFond(Fjeu,'T'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
- end loop;
- end loop;
- end loop;
- end ReinitTransfo;
- --change les matrices d'affichages des rotations en matrice vierge, suite a un positionnement d'une piece par exemple
- end p_vue_graph;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement