Programme qui marche 100%

Dependencies:   mbed BSP_DISCO_F746NG

Committer:
blbl
Date:
Wed Nov 18 10:51:15 2020 +0000
Revision:
3:54a96adea9cd
Parent:
2:3e54ffabcc47
Child:
4:58c50d72b423
done.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
blbl 3:54a96adea9cd 1 #include "header.h"
blbl 3:54a96adea9cd 2
blbl 3:54a96adea9cd 3 TS_StateTypeDef TS_State;
blbl 3:54a96adea9cd 4
blbl 3:54a96adea9cd 5 void init_cellules(GRILLE G){
blbl 3:54a96adea9cd 6 int demarrer=0;
blbl 3:54a96adea9cd 7 int x;
blbl 3:54a96adea9cd 8 int y;
blbl 3:54a96adea9cd 9 int l;
blbl 3:54a96adea9cd 10 int h;
blbl 3:54a96adea9cd 11 while(demarrer==0){
blbl 3:54a96adea9cd 12 Affichagepxl2_debut(G);
blbl 3:54a96adea9cd 13 BSP_TS_GetState(&TS_State);
blbl 3:54a96adea9cd 14 if(TS_State.touchDetected==1){
blbl 3:54a96adea9cd 15 BSP_TS_GetState(&TS_State);
blbl 3:54a96adea9cd 16 if (TS_State.touchX[0]>Gauche_bouton_demarrer && TS_State.touchY[0]<Bas_bouton_demarrer){
blbl 3:54a96adea9cd 17 demarrer=1;
blbl 3:54a96adea9cd 18 }
blbl 3:54a96adea9cd 19 else{
blbl 3:54a96adea9cd 20 BSP_TS_GetState(&TS_State);
blbl 3:54a96adea9cd 21 x = TS_State.touchX[0],
blbl 3:54a96adea9cd 22 BSP_TS_GetState(&TS_State);
blbl 3:54a96adea9cd 23 y = TS_State.touchY[0];
blbl 3:54a96adea9cd 24 l = (x-1)/2 ;
blbl 3:54a96adea9cd 25 h = (y-1)/2 ;
blbl 3:54a96adea9cd 26 G[l][h]=1;
blbl 3:54a96adea9cd 27 Affichagepxl2_debut(G);
blbl 3:54a96adea9cd 28 }
blbl 3:54a96adea9cd 29 }
blbl 3:54a96adea9cd 30 G[11][11]=1;
blbl 3:54a96adea9cd 31 G[11][13]=1;
blbl 3:54a96adea9cd 32 G[14][11]=1;
blbl 3:54a96adea9cd 33 G[15][12]=1;
blbl 3:54a96adea9cd 34 G[15][13]=1;
blbl 3:54a96adea9cd 35 G[15][14]=1;
blbl 3:54a96adea9cd 36 G[12][14]=1;
blbl 3:54a96adea9cd 37 G[13][14]=1;
blbl 3:54a96adea9cd 38 G[14][14]=1;
blbl 3:54a96adea9cd 39
blbl 3:54a96adea9cd 40 G[31][31]=1;
blbl 3:54a96adea9cd 41 G[31][32]=1;
blbl 3:54a96adea9cd 42 G[32][31]=1;
blbl 3:54a96adea9cd 43 G[32][32]=1;
blbl 3:54a96adea9cd 44
blbl 3:54a96adea9cd 45 G[65][45]=1;
blbl 3:54a96adea9cd 46 G[65][46]=1;
blbl 3:54a96adea9cd 47 G[65][47]=1;
blbl 3:54a96adea9cd 48 }
blbl 3:54a96adea9cd 49 }
blbl 3:54a96adea9cd 50
blbl 3:54a96adea9cd 51
blbl 3:54a96adea9cd 52
blbl 3:54a96adea9cd 53
blbl 3:54a96adea9cd 54
blbl 3:54a96adea9cd 55 void Changementetat(GRILLE G, GRILLE Gsomme) //réactualise les états des cases dans G en fonction des cases adjacentes dans Gsomme
blbl 3:54a96adea9cd 56 {
blbl 3:54a96adea9cd 57 int l;
blbl 3:54a96adea9cd 58 int h;
blbl 3:54a96adea9cd 59 for (l=0; l<LONGUEUR+1; l++)
blbl 3:54a96adea9cd 60 {
blbl 3:54a96adea9cd 61 for (h=0; h<HAUTEUR+1; h++)
blbl 3:54a96adea9cd 62 {
blbl 3:54a96adea9cd 63 if (G[l][h]==1)
blbl 3:54a96adea9cd 64 {
blbl 3:54a96adea9cd 65 if (Gsomme[l][h]<=CVA_VIVANT && Gsomme[l][h]>=CVA_MORT) //condition pour la survie d'une case
blbl 3:54a96adea9cd 66 {
blbl 3:54a96adea9cd 67 G[l][h]=1;
blbl 3:54a96adea9cd 68 }
blbl 3:54a96adea9cd 69 else //meurt d'isolement ou d'étouffement
blbl 3:54a96adea9cd 70 {
blbl 3:54a96adea9cd 71 G[l][h]=0;
blbl 3:54a96adea9cd 72 }
blbl 3:54a96adea9cd 73 }
blbl 3:54a96adea9cd 74 else if (G[l][h]==0)
blbl 3:54a96adea9cd 75 {
blbl 3:54a96adea9cd 76 if (Gsomme[l][h]==CVA_VIVANT) //passage a l'état vivant si la case est morte
blbl 3:54a96adea9cd 77 {
blbl 3:54a96adea9cd 78 G[l][h]=1;
blbl 3:54a96adea9cd 79 }
blbl 3:54a96adea9cd 80 else
blbl 3:54a96adea9cd 81 {
blbl 3:54a96adea9cd 82 G[l][h]=0;
blbl 3:54a96adea9cd 83 }
blbl 3:54a96adea9cd 84 }
blbl 3:54a96adea9cd 85 }
blbl 3:54a96adea9cd 86 }
blbl 3:54a96adea9cd 87 }
blbl 3:54a96adea9cd 88
blbl 3:54a96adea9cd 89 void Affichagepxl2(GRILLE G) //surtout ne pas confondre les dimensions de l'écran avec les dimension du tableau des cases si on utilise des pixels 2x2 ou plus
blbl 3:54a96adea9cd 90 {
blbl 3:54a96adea9cd 91 int l; //longueur sur G
blbl 3:54a96adea9cd 92 int h; //hauteur sur H
blbl 3:54a96adea9cd 93 for (l=0; l<LONGUEUR+1; l++)
blbl 3:54a96adea9cd 94 {
blbl 3:54a96adea9cd 95 for (h=0; h<HAUTEUR+1; h++)
blbl 3:54a96adea9cd 96 {
blbl 3:54a96adea9cd 97 int x=(2*l)+1; //position sur l'écran x,y
blbl 3:54a96adea9cd 98 int y=(2*h)+1;
blbl 3:54a96adea9cd 99 if (G[l][h]==1){
blbl 3:54a96adea9cd 100 BSP_LCD_DrawPixel(x,y,couleurvivante);
blbl 3:54a96adea9cd 101 BSP_LCD_DrawPixel(x+1,y,couleurvivante);
blbl 3:54a96adea9cd 102 BSP_LCD_DrawPixel(x,y+1,couleurvivante);
blbl 3:54a96adea9cd 103 BSP_LCD_DrawPixel(x+1,y+1,couleurvivante);
blbl 3:54a96adea9cd 104 }
blbl 3:54a96adea9cd 105 else if (G[l][h]==0){
blbl 3:54a96adea9cd 106 BSP_LCD_DrawPixel(x,y,couleurmorte);
blbl 3:54a96adea9cd 107 BSP_LCD_DrawPixel(x+1,y,couleurmorte);
blbl 3:54a96adea9cd 108 BSP_LCD_DrawPixel(x,y+1,couleurmorte);
blbl 3:54a96adea9cd 109 BSP_LCD_DrawPixel(x+1,y+1,couleurmorte);
blbl 3:54a96adea9cd 110 }
blbl 3:54a96adea9cd 111 }
blbl 3:54a96adea9cd 112 }
blbl 3:54a96adea9cd 113 BSP_LCD_SetTextColor(couleur_stop);
blbl 3:54a96adea9cd 114 BSP_LCD_FillRect(Gauche_bouton_demarrer,0,Droit_bouton_continuer,Bas_bouton_demarrer);
blbl 3:54a96adea9cd 115 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
blbl 3:54a96adea9cd 116 BSP_LCD_DisplayStringAt(0,0, (uint8_t *)"STOP", RIGHT_MODE);
blbl 3:54a96adea9cd 117 }
blbl 3:54a96adea9cd 118
blbl 3:54a96adea9cd 119 void Affichagepxl2_debut(GRILLE G)
blbl 3:54a96adea9cd 120 {
blbl 3:54a96adea9cd 121 int l; //longueur sur G
blbl 3:54a96adea9cd 122 int h; //hauteur sur H
blbl 3:54a96adea9cd 123 for (l=0; l<LONGUEUR+1; l++)
blbl 3:54a96adea9cd 124 {
blbl 3:54a96adea9cd 125 for (h=0; h<HAUTEUR+1; h++)
blbl 3:54a96adea9cd 126 {
blbl 3:54a96adea9cd 127 int x=(2*l)+1; //position sur l'écran x,y
blbl 3:54a96adea9cd 128 int y=(2*h)+1;
blbl 3:54a96adea9cd 129 if (G[l][h]==1){
blbl 3:54a96adea9cd 130 BSP_LCD_DrawPixel(x,y,couleurvivante);
blbl 3:54a96adea9cd 131 BSP_LCD_DrawPixel(x+1,y,couleurvivante);
blbl 3:54a96adea9cd 132 BSP_LCD_DrawPixel(x,y+1,couleurvivante);
blbl 3:54a96adea9cd 133 BSP_LCD_DrawPixel(x+1,y+1,couleurvivante);
blbl 3:54a96adea9cd 134 }
blbl 3:54a96adea9cd 135 else if (G[l][h]==0){
blbl 3:54a96adea9cd 136 BSP_LCD_DrawPixel(x,y,couleurmorte);
blbl 3:54a96adea9cd 137 BSP_LCD_DrawPixel(x+1,y,couleurmorte);
blbl 3:54a96adea9cd 138 BSP_LCD_DrawPixel(x,y+1,couleurmorte);
blbl 3:54a96adea9cd 139 BSP_LCD_DrawPixel(x+1,y+1,couleurmorte);
blbl 3:54a96adea9cd 140 }
blbl 3:54a96adea9cd 141 }
blbl 3:54a96adea9cd 142 }
blbl 3:54a96adea9cd 143 BSP_LCD_SetTextColor(couleur_demarrer);
blbl 3:54a96adea9cd 144 BSP_LCD_FillRect(Gauche_bouton_demarrer,0,Droit_bouton_continuer,Bas_bouton_demarrer);
blbl 3:54a96adea9cd 145 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
blbl 3:54a96adea9cd 146 BSP_LCD_DisplayStringAt(0,0, (uint8_t *)"START", RIGHT_MODE);
blbl 3:54a96adea9cd 147 }
blbl 3:54a96adea9cd 148
blbl 3:54a96adea9cd 149
blbl 3:54a96adea9cd 150
blbl 3:54a96adea9cd 151
blbl 3:54a96adea9cd 152
blbl 3:54a96adea9cd 153
blbl 3:54a96adea9cd 154 void Tabsomme(GRILLE G, GRILLE Gsomme) //réalisation du tableau des sommes a partir du tableau des états
blbl 3:54a96adea9cd 155 {
blbl 3:54a96adea9cd 156 int l;
blbl 3:54a96adea9cd 157 int h;
blbl 3:54a96adea9cd 158 for (l=0; l<LONGUEUR+1; l++)
blbl 3:54a96adea9cd 159 {
blbl 3:54a96adea9cd 160 for (h=0; h<HAUTEUR+1; h++)
blbl 3:54a96adea9cd 161 {
blbl 3:54a96adea9cd 162 if (l<LONGUEUR+1 && l>0 && h<HAUTEUR+1 && h>0)
blbl 3:54a96adea9cd 163 {
blbl 3:54a96adea9cd 164 Gsomme[l][h]=SommeADJcorps(G,l,h);
blbl 3:54a96adea9cd 165 }
blbl 3:54a96adea9cd 166 else if (((l==0)&&(h==HAUTEUR||h==0))||((l==LONGUEUR)&&(h==HAUTEUR||h==0)))
blbl 3:54a96adea9cd 167 {
blbl 3:54a96adea9cd 168 Gsomme[l][h]=SommeADJcoins(G,l,h);
blbl 3:54a96adea9cd 169 }
blbl 3:54a96adea9cd 170 else if ((l==0 && (h!=0 && h!=HAUTEUR))||(l==LONGUEUR && (h!=0 && h!=HAUTEUR)))
blbl 3:54a96adea9cd 171 {
blbl 3:54a96adea9cd 172 Gsomme[l][h]=SommeADJcoteslat(G,l,h);
blbl 3:54a96adea9cd 173 }
blbl 3:54a96adea9cd 174 else if ((h==0 && (l!=0 && l!=LONGUEUR))||(h==HAUTEUR && (l!=0 && l!=LONGUEUR)))
blbl 3:54a96adea9cd 175 {
blbl 3:54a96adea9cd 176 Gsomme[l][h]=SommeADJcoteslon(G,l,h);
blbl 3:54a96adea9cd 177 }
blbl 3:54a96adea9cd 178
blbl 3:54a96adea9cd 179
blbl 3:54a96adea9cd 180 }
blbl 3:54a96adea9cd 181 }
blbl 3:54a96adea9cd 182 }
blbl 3:54a96adea9cd 183
blbl 3:54a96adea9cd 184
blbl 3:54a96adea9cd 185 int SommeADJcorps(GRILLE G, int i, int h) // sous-fonction de Tabsomme qui gère les cases au centre du tableau (sans les cotés et les coins)
blbl 3:54a96adea9cd 186 {
blbl 3:54a96adea9cd 187 int s=0;
blbl 3:54a96adea9cd 188 s+=(G[i+1][h] + G[i-1][h]);
blbl 3:54a96adea9cd 189 s+=(G[i-1][h-1] + G[i][h-1] + G[i+1][h-1]);
blbl 3:54a96adea9cd 190 s+=(G[i-1][h+1] + G[i][h+1] + G[i+1][h+1]);
blbl 3:54a96adea9cd 191 return s;
blbl 3:54a96adea9cd 192 }
blbl 3:54a96adea9cd 193
blbl 3:54a96adea9cd 194 int SommeADJcoteslat(GRILLE G,int i, int h) // sous-fonction de Tabsomme qui gère les cotés latéraux du tableau
blbl 3:54a96adea9cd 195 {
blbl 3:54a96adea9cd 196 if (i==0)
blbl 3:54a96adea9cd 197 {
blbl 3:54a96adea9cd 198 int s=0;
blbl 3:54a96adea9cd 199 s+=(G[i][h+1] + G[i][h-1]);
blbl 3:54a96adea9cd 200 s+=(G[i+1][h+1] + G[i+1][h-1] + G[i+1][h]);
blbl 3:54a96adea9cd 201 s+=(G[LONGUEUR][h+1] + G[LONGUEUR][h-1] + G[LONGUEUR][h]);
blbl 3:54a96adea9cd 202 return s;
blbl 3:54a96adea9cd 203 }
blbl 3:54a96adea9cd 204 if (i==LONGUEUR)
blbl 3:54a96adea9cd 205 {
blbl 3:54a96adea9cd 206 int s=0;
blbl 3:54a96adea9cd 207 s+=(G[i][h+1] + G[i][h-1]);
blbl 3:54a96adea9cd 208 s+=(G[i-1][h+1] + G[i-1][h-1] + G[i-1][h]);
blbl 3:54a96adea9cd 209 s+=(G[0][h+1] + G[0][h-1] + G[0][h]);
blbl 3:54a96adea9cd 210 return s;
blbl 3:54a96adea9cd 211 }
blbl 3:54a96adea9cd 212 return 0;
blbl 3:54a96adea9cd 213 }
blbl 3:54a96adea9cd 214
blbl 3:54a96adea9cd 215 int SommeADJcoteslon(GRILLE G,int i, int h)// sous-fonction de Tabsomme qui gère les cotés en longueur du tableau
blbl 3:54a96adea9cd 216 {
blbl 3:54a96adea9cd 217 if (h==0)
blbl 3:54a96adea9cd 218 {
blbl 3:54a96adea9cd 219 int s=0;
blbl 3:54a96adea9cd 220 s+=(G[i+1][h] + G[i-1][h]);
blbl 3:54a96adea9cd 221 s+=(G[i-1][h+1] + G[i][h+1] + G[i+1][h+1]);
blbl 3:54a96adea9cd 222 s+=(G[i-1][HAUTEUR] + G[i][HAUTEUR] + G[i+1][HAUTEUR]);
blbl 3:54a96adea9cd 223 return s;
blbl 3:54a96adea9cd 224 }
blbl 3:54a96adea9cd 225 if (h==HAUTEUR)
blbl 3:54a96adea9cd 226 {
blbl 3:54a96adea9cd 227 int s=0;
blbl 3:54a96adea9cd 228 s+=(G[i+1][h] + G[i-1][h]);
blbl 3:54a96adea9cd 229 s+=(G[i-1][h+1] + G[i][h+1] + G[i+1][h+1]);
blbl 3:54a96adea9cd 230 s+=(G[i-1][0] + G[i][HAUTEUR] + G[i+1][HAUTEUR]);
blbl 3:54a96adea9cd 231 return s;
blbl 3:54a96adea9cd 232 }
blbl 3:54a96adea9cd 233 return 0;
blbl 3:54a96adea9cd 234 }
blbl 3:54a96adea9cd 235
blbl 3:54a96adea9cd 236
blbl 3:54a96adea9cd 237 int SommeADJcoins(GRILLE G, int i, int h) // sous-fonction de Tabsomme qui gère les coins du tableaux
blbl 3:54a96adea9cd 238 {
blbl 3:54a96adea9cd 239 int s=0;
blbl 3:54a96adea9cd 240 if (i==0)
blbl 3:54a96adea9cd 241 {
blbl 3:54a96adea9cd 242 if (h==0) //coin sup gauche
blbl 3:54a96adea9cd 243 {
blbl 3:54a96adea9cd 244 s+=(G[LONGUEUR][HAUTEUR]);
blbl 3:54a96adea9cd 245 s+=(G[1][0] + G[1][1] + G[0][1]);
blbl 3:54a96adea9cd 246 s+=(G[LONGUEUR][0] + G[LONGUEUR][1]);
blbl 3:54a96adea9cd 247 s+=(G[0][HAUTEUR] + G[1][HAUTEUR]);
blbl 3:54a96adea9cd 248 return s;
blbl 3:54a96adea9cd 249 }
blbl 3:54a96adea9cd 250 else if (h==HAUTEUR) //coin inf gauche
blbl 3:54a96adea9cd 251 {
blbl 3:54a96adea9cd 252 s+=(G[LONGUEUR][0]);
blbl 3:54a96adea9cd 253 s+=(G[0][HAUTEUR - 1] + G[1][HAUTEUR - 1] + G[1][HAUTEUR]);
blbl 3:54a96adea9cd 254 s+=(G[LONGUEUR][HAUTEUR -1] + G[LONGUEUR][HAUTEUR]);
blbl 3:54a96adea9cd 255 s+=(G[0][0] + G[1][0]);
blbl 3:54a96adea9cd 256 return s;
blbl 3:54a96adea9cd 257 }
blbl 3:54a96adea9cd 258 }
blbl 3:54a96adea9cd 259 else if (i==LONGUEUR)
blbl 3:54a96adea9cd 260 {
blbl 3:54a96adea9cd 261 if (h==0) //coin sup droit
blbl 3:54a96adea9cd 262 {
blbl 3:54a96adea9cd 263 s+=(G[0][HAUTEUR]);
blbl 3:54a96adea9cd 264 s+=(G[LONGUEUR - 1][0] + G[LONGUEUR - 1][0] + G[LONGUEUR - 1][1]);
blbl 3:54a96adea9cd 265 s+=(G[LONGUEUR][HAUTEUR] + G[LONGUEUR-1][HAUTEUR]);
blbl 3:54a96adea9cd 266 s+=(G[0][0] + G[0][1]);
blbl 3:54a96adea9cd 267 return s;
blbl 3:54a96adea9cd 268 }
blbl 3:54a96adea9cd 269 else if (h==HAUTEUR) //coin inf droit
blbl 3:54a96adea9cd 270 {
blbl 3:54a96adea9cd 271 s+=(G[0][0]);
blbl 3:54a96adea9cd 272 s+=(G[LONGUEUR - 1][HAUTEUR] + G[LONGUEUR - 1][HAUTEUR - 1] + G[LONGUEUR][HAUTEUR - 1]);
blbl 3:54a96adea9cd 273 s+=(G[LONGUEUR][0] + G[LONGUEUR - 1][0]);
blbl 3:54a96adea9cd 274 s+=(G[0][HAUTEUR] + G[0][HAUTEUR - 1]);
blbl 3:54a96adea9cd 275 return s;
blbl 3:54a96adea9cd 276 }
blbl 3:54a96adea9cd 277 }
blbl 3:54a96adea9cd 278 return 0;
blbl 3:54a96adea9cd 279 }
blbl 3:54a96adea9cd 280
blbl 3:54a96adea9cd 281
blbl 3:54a96adea9cd 282
blbl 3:54a96adea9cd 283 void partie(GRILLE G,GRILLE Gsomme){
blbl 3:54a96adea9cd 284 BSP_LCD_Clear(LCD_COLOR_BLACK);
blbl 3:54a96adea9cd 285 BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
blbl 3:54a96adea9cd 286 Affichagepxl2(G);
blbl 3:54a96adea9cd 287 HAL_Delay(TEMPS_TOUR);
blbl 3:54a96adea9cd 288 int stop=0;
blbl 3:54a96adea9cd 289 while(stop==0){
blbl 3:54a96adea9cd 290 HAL_Delay(TEMPS_TOUR);
blbl 3:54a96adea9cd 291 Tabsomme(G,Gsomme);
blbl 3:54a96adea9cd 292 Changementetat(G,Gsomme);
blbl 3:54a96adea9cd 293 Affichagepxl2(G);
blbl 3:54a96adea9cd 294 BSP_TS_GetState(&TS_State);
blbl 3:54a96adea9cd 295 if(TS_State.touchDetected != 0){
blbl 3:54a96adea9cd 296 BSP_TS_GetState(&TS_State);
blbl 3:54a96adea9cd 297 if (TS_State.touchX[0]>Gauche_bouton_demarrer && TS_State.touchY[0]<Bas_bouton_demarrer){
blbl 3:54a96adea9cd 298 stop=1;
blbl 3:54a96adea9cd 299 }
blbl 3:54a96adea9cd 300 }
blbl 3:54a96adea9cd 301 }
blbl 3:54a96adea9cd 302 }
blbl 3:54a96adea9cd 303
blbl 3:54a96adea9cd 304
blbl 3:54a96adea9cd 305
blbl 3:54a96adea9cd 306
blbl 3:54a96adea9cd 307 int fin_de_partie(GRILLE G,GRILLE Gsomme){
blbl 3:54a96adea9cd 308 int rejouer=0;
blbl 3:54a96adea9cd 309 int continuer=0;
blbl 3:54a96adea9cd 310 BSP_LCD_SetTextColor(couleur_stop);
blbl 3:54a96adea9cd 311 BSP_LCD_FillRect(Gauche_bouton_demarrer,0,Droit_bouton_continuer,Bas_bouton_demarrer);
blbl 3:54a96adea9cd 312 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
blbl 3:54a96adea9cd 313 BSP_LCD_DisplayStringAt(0,0, (uint8_t *)"NEW TRY", RIGHT_MODE);
blbl 3:54a96adea9cd 314 BSP_LCD_SetTextColor(couleur_demarrer);
blbl 3:54a96adea9cd 315 BSP_LCD_FillRect(0,0,Droit_bouton_continuer,Bas_bouton_demarrer);
blbl 3:54a96adea9cd 316 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
blbl 3:54a96adea9cd 317 BSP_LCD_DisplayStringAt(0,0, (uint8_t *)"CONTINUE", LEFT_MODE);
blbl 3:54a96adea9cd 318 HAL_Delay(1000);
blbl 3:54a96adea9cd 319 while(1){
blbl 3:54a96adea9cd 320 BSP_TS_GetState(&TS_State);
blbl 3:54a96adea9cd 321 if(TS_State.touchDetected==1){
blbl 3:54a96adea9cd 322 BSP_TS_GetState(&TS_State);
blbl 3:54a96adea9cd 323 if (TS_State.touchX[0]<Droit_bouton_continuer && TS_State.touchY[0]<Bas_bouton_demarrer){
blbl 3:54a96adea9cd 324 continuer=1;
blbl 3:54a96adea9cd 325 }
blbl 3:54a96adea9cd 326 else if (TS_State.touchX[0]>Gauche_bouton_demarrer && TS_State.touchY[0]<Bas_bouton_demarrer){
blbl 3:54a96adea9cd 327 rejouer=1;
blbl 3:54a96adea9cd 328 }
blbl 3:54a96adea9cd 329
blbl 3:54a96adea9cd 330 }
blbl 3:54a96adea9cd 331 if (continuer==1){
blbl 3:54a96adea9cd 332 partie(G,Gsomme);
blbl 3:54a96adea9cd 333 fin_de_partie(G,Gsomme);
blbl 3:54a96adea9cd 334 }
blbl 3:54a96adea9cd 335 if (rejouer ==1){
blbl 3:54a96adea9cd 336 break;
blbl 3:54a96adea9cd 337 }
blbl 3:54a96adea9cd 338 }
blbl 3:54a96adea9cd 339 return rejouer;
blbl 3:54a96adea9cd 340 }
blbl 3:54a96adea9cd 341
blbl 3:54a96adea9cd 342
blbl 3:54a96adea9cd 343
blbl 3:54a96adea9cd 344
blbl 3:54a96adea9cd 345
blbl 3:54a96adea9cd 346
blbl 3:54a96adea9cd 347
blbl 3:54a96adea9cd 348
blbl 3:54a96adea9cd 349
blbl 3:54a96adea9cd 350
guillaume_m 2:3e54ffabcc47 351