Advertisement
Guest User

Untitled

a guest
Jan 25th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ada 4.80 KB | None | 0 0
  1. procedure InitFenetreJeu(Fjeu : in out TR_Fenetre) is
  2.   u,v : integer := 0;
  3. begin
  4.   Fjeu := DebutFenetre("TWIST",1280,720);
  5.   for i in 1..4 loop
  6.     for j in T_col'range loop
  7.       AjouterBouton(Fjeu,j & integer'image(i),"",50+80*(character'pos(j)-65),50+80*(i-1),80,80);
  8.       AjouterBoutonRond(Fjeu,'R'&j&integer'image(i),"",62+80*(character'pos(j)-65),50+80*(i-1),80,80);
  9.       ChangerCouleurFond(Fjeu,j & integer'image(i),FL_BOTTOM_BCOL);
  10.       ChangerCouleurFond(Fjeu,'R'&j & integer'image(i),FL_WHITE);
  11.     end loop;
  12.   end loop;
  13.   for k in 1..8 loop
  14.     if k mod 2 = 1 then
  15.         AjouterBouton(Fjeu,'P'&integer'image(k),"",800,50+150*u,150,150);
  16.         ChangerCouleurFond(Fjeu,'P'&integer'image(k),FL_BOTTOM_BCOL);
  17.     for i in 1..4 loop
  18.           for j in 1..4 loop
  19.             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);
  20.         ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_WHITE);
  21.         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);
  22.         ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_LEFT_BCOL);
  23.       end loop;
  24.     end loop;
  25.     u := u + 1;
  26.     else
  27.         AjouterBouton(Fjeu,'P'&integer'image(k),"",1070,50+150*v,150,150);
  28.     ChangerCouleurFond(Fjeu,'P'&integer'image(k),FL_BOTTOM_BCOL);
  29.     for i in 1..4 loop
  30.           for j in 1..4 loop
  31.             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);
  32.         ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_WHITE);
  33.         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);
  34.         ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_LEFT_BCOL);
  35.       end loop;
  36.     end loop;
  37.     v := v + 1;
  38.     end if;
  39.   end loop;
  40.   FinFenetre(FJeu);
  41. end InitFenetreJeu;
  42.  
  43. procedure InitRegle(Freg : in out TR_Fenetre) is
  44. begin
  45.   Freg := DebutFenetre("Regle",500,100);
  46.   Ajoutertexte(Freg,"regle1","Le defi consiste a completer l'interieur du plan de jeu avec les",58,40,460,20);
  47.   Ajoutertexte(Freg,"regle2","8 pieces de couleur, tout en associant les points de couleurs avec",50,60,460,20);
  48.   Ajoutertexte(Freg,"regle3","les parties trouees des pieces, vous pouvez tourner les pieces.",60,80,460,20);
  49.   FinFenetre(Freg);
  50. end InitRegle;
  51.  
  52. procedure AffichePiecesNonPlacees(Fjeu : in out TR_Fenetre;VP : in TV_Piece) is
  53. begin
  54.   for k in 1..8 loop
  55.     if VP(k).place then
  56.       ChangerCouleurFond(Fjeu,'P'&integer'image(k),FL_COL1);
  57.       for i in 1..4 loop
  58.     for j in 1..4 loop
  59.       ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_LEFT_BCOL);
  60.       ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_LEFT_BCOL);
  61.     end loop;
  62.       end loop;
  63.     else
  64.       for i in 1..4 loop
  65.     for j in 1..4 loop
  66.           if VP(k).mat(i,j) = vide then
  67.             ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
  68.       ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_BOTTOM_BCOL);
  69.       elsif VP(k).mat(i,j) = plein then
  70.         if VP(k).coul = rouge then
  71.            ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
  72.            ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
  73.         elsif VP(k).coul = vert then
  74.               ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
  75.           ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
  76.             elsif VP(k).coul = jaune then
  77.               ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
  78.           ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
  79.             else
  80.           ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
  81.           ChangerCouleurFond(Fjeu,'N'&integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
  82.             end if;
  83.       else
  84.         if VP(k).coul = rouge then
  85.            ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_RED);
  86.         elsif VP(k).coul = vert then
  87.               ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_GREEN);
  88.             elsif VP(k).coul = jaune then
  89.               ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_YELLOW);
  90.             else
  91.           ChangerCouleurFond(Fjeu,integer'image(k)&integer'image(i)&integer'image(j),FL_DODGERBLUE);
  92.         end if;
  93.       end if;
  94.     end loop;
  95.       end loop;
  96.     end if;
  97.   end loop;
  98. end AffichePiecesNonPlacees;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement