ce program est un test non fini

Dependencies:   mbed BSP_DISCO_F746NG

Committer:
guillaume_m
Date:
Wed Nov 18 08:07:27 2020 +0000
Revision:
2:3e54ffabcc47
azertyuiop

Who changed what in which revision?

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