Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure InitFenetreJeu(Fjeu : in out TR_Fenetre) is
- u,v : integer := 0;
- begin
- Fjeu := DebutFenetre("TWIST",1280,720);
- for i in 1..4 loop
- for j in T_col'range loop
- AjouterBouton(Fjeu,j & integer'image(i),"",50+80*(character'pos(j)-65),50+80*(i-1),80,80);
- AjouterBoutonRond(Fjeu,'R'&j&integer'image(i),"",62+80*(character'pos(j)-65),50+80*(i-1),80,80);
- ChangerCouleurFond(Fjeu,j & integer'image(i),FL_BOTTOM_BCOL);
- ChangerCouleurFond(Fjeu,'R'&j & integer'image(i),FL_WHITE);
- end loop;
- end loop;
- 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,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,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_LEFT_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,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,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_LEFT_BCOL);
- end loop;
- end loop;
- v := v + 1;
- end if;
- end loop;
- FinFenetre(FJeu);
- end InitFenetreJeu;
- procedure InitRegle(Freg : in out TR_Fenetre) is
- begin
- Freg := DebutFenetre("Regle",500,100);
- 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);
- FinFenetre(Freg);
- end InitRegle;
- 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_COL1);
- for i in 1..4 loop
- for j in 1..4 loop
- ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_LEFT_BCOL);
- ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_LEFT_BCOL);
- end loop;
- end loop;
- else
- for i in 1..4 loop
- for j in 1..4 loop
- if VP(k).mat(i,j) = vide then
- ChangerCouleurFond(Fjeu,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,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,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,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,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
- if VP(k).coul = rouge then
- ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
- elsif VP(k).coul = vert then
- ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
- elsif VP(k).coul = jaune then
- ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
- else
- ChangerCouleurFond(Fjeu,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;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement