sequences des strats

Committer:
JimmyAREM
Date:
Fri May 31 21:03:16 2019 +0000
Revision:
10:c27f3e788466
Parent:
9:00361ecc429d
23h

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JimmyAREM 0:a89fe490343e 1 #include "Strategie.h"
JimmyAREM 0:a89fe490343e 2
JimmyAREM 7:392aa81893eb 3 char bufferScore[3]= {'0','0','0'};
JimmyAREM 1:785b37686185 4
JimmyAREM 0:a89fe490343e 5 bool typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 4:7a9a9720e4d0 6 int typeEvitement = ARRET;
JimmyAREM 0:a89fe490343e 7
JimmyAREM 7:392aa81893eb 8 extern bool finActions;
JimmyAREM 0:a89fe490343e 9 extern int distanceUltrasonGauche;
JimmyAREM 0:a89fe490343e 10 extern int distanceUltrasonDroit;
JimmyAREM 0:a89fe490343e 11 extern int distanceUltrasonArriere;
JimmyAREM 0:a89fe490343e 12
JimmyAREM 0:a89fe490343e 13 extern int distanceTOF1;
JimmyAREM 0:a89fe490343e 14 extern int distanceTOF2;
JimmyAREM 0:a89fe490343e 15 extern int distanceTOF3;
JimmyAREM 0:a89fe490343e 16 extern int distanceTOF4;
JimmyAREM 0:a89fe490343e 17 extern int distanceTOF5;
JimmyAREM 0:a89fe490343e 18
JimmyAREM 0:a89fe490343e 19
JimmyAREM 0:a89fe490343e 20 extern bool stopCapteurs;
JimmyAREM 0:a89fe490343e 21
JimmyAREM 9:00361ecc429d 22 extern Serial pc;
JimmyAREM 9:00361ecc429d 23
JimmyAREM 0:a89fe490343e 24
JimmyAREM 1:785b37686185 25 Timeout tempsArretMvt;
JimmyAREM 9:00361ecc429d 26 bool actionLancer = false;
JimmyAREM 1:785b37686185 27
JimmyAREM 1:785b37686185 28
JimmyAREM 0:a89fe490343e 29 void updateAndWriteScore(char n1, char n2, char n3)
JimmyAREM 0:a89fe490343e 30 {
JimmyAREM 0:a89fe490343e 31 bufferScore[0] = n1;
JimmyAREM 0:a89fe490343e 32 bufferScore[1] = n2;
JimmyAREM 0:a89fe490343e 33 bufferScore[2] = n3;
JimmyAREM 0:a89fe490343e 34 write(bufferScore);
JimmyAREM 0:a89fe490343e 35 }
JimmyAREM 0:a89fe490343e 36
JimmyAREM 9:00361ecc429d 37
JimmyAREM 0:a89fe490343e 38 void LectureI2CCarteCapteur(deplacement robot)
JimmyAREM 0:a89fe490343e 39 {
JimmyAREM 9:00361ecc429d 40 pc.printf("Avant le traitement\n\r");
JimmyAREM 0:a89fe490343e 41 traitementBufferCapteurs();
JimmyAREM 9:00361ecc429d 42 pc.printf("Apres le traitement\n\r");
JimmyAREM 9:00361ecc429d 43 if(AnalyseDistance(distanceUltrasonGauche, distanceUltrasonDroit, distanceUltrasonArriere, typeMovement) == ROBOT) {
JimmyAREM 9:00361ecc429d 44 if( ((distanceUltrasonGauche <= 300) || (distanceUltrasonDroit <= 300)) || (distanceUltrasonArriere <= 300) && (typeMovement == DEPLACEMENT_AVANT) ) {
JimmyAREM 7:392aa81893eb 45 stopCapteurs = true;
JimmyAREM 7:392aa81893eb 46 } else {
JimmyAREM 7:392aa81893eb 47 stopCapteurs = false;
JimmyAREM 7:392aa81893eb 48 }
JimmyAREM 9:00361ecc429d 49 } else {
JimmyAREM 9:00361ecc429d 50 stopCapteurs = false;
JimmyAREM 9:00361ecc429d 51 }
JimmyAREM 0:a89fe490343e 52 }
JimmyAREM 0:a89fe490343e 53
JimmyAREM 1:785b37686185 54 void arretSystem()
JimmyAREM 1:785b37686185 55 {
JimmyAREM 7:392aa81893eb 56
JimmyAREM 1:785b37686185 57 deplacement robot;
JimmyAREM 7:392aa81893eb 58
JimmyAREM 1:785b37686185 59 robot.initialisation();
JimmyAREM 9:00361ecc429d 60 set_PWM_moteur_D(0);
JimmyAREM 9:00361ecc429d 61 set_PWM_moteur_G(0);
JimmyAREM 9:00361ecc429d 62 motors_stop();
JimmyAREM 9:00361ecc429d 63 stopPompe();
JimmyAREM 9:00361ecc429d 64 while(1);
JimmyAREM 9:00361ecc429d 65 //robot.arreterRobot();
JimmyAREM 1:785b37686185 66 }
JimmyAREM 1:785b37686185 67
JimmyAREM 2:e0402d1e9ed5 68 /*---------Debut Strategie homologation violet ------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 69
JimmyAREM 2:e0402d1e9ed5 70
JimmyAREM 7:392aa81893eb 71 void strategieHomologationViolet(deplacement robot, Demarreur demarreur)
JimmyAREM 1:785b37686185 72 {
JimmyAREM 1:785b37686185 73 write(bufferScore);
JimmyAREM 1:785b37686185 74 Timer tempsMatch; // timer en seconde
JimmyAREM 1:785b37686185 75 int etapeMatch = 0;
JimmyAREM 7:392aa81893eb 76 while(demarreur.getState() == false) {
JimmyAREM 1:785b37686185 77 //on attend
JimmyAREM 8:55fe932fd696 78 pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 1:785b37686185 79 }
JimmyAREM 1:785b37686185 80 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 10:c27f3e788466 81 initViolet();
JimmyAREM 8:55fe932fd696 82 //robot.initialisation();
JimmyAREM 1:785b37686185 83 lancerTimerEcran();
JimmyAREM 1:785b37686185 84 tempsMatch.start();
JimmyAREM 1:785b37686185 85 typeEvitement = ARRET;
JimmyAREM 7:392aa81893eb 86 while(tempsMatch <= TEMPSMATCH) {
JimmyAREM 8:55fe932fd696 87 /*if(finActions == true)
JimmyAREM 7:392aa81893eb 88 {
JimmyAREM 7:392aa81893eb 89 etapeMatch++;
JimmyAREM 7:392aa81893eb 90 finActions = false;
JimmyAREM 8:55fe932fd696 91 }*/
JimmyAREM 1:785b37686185 92 switch (etapeMatch) {
JimmyAREM 1:785b37686185 93
JimmyAREM 7:392aa81893eb 94 case 0 : { /* On tourne pour aller vers le terrain adverse et on avance jusqu'au milieu du terrain */
JimmyAREM 9:00361ecc429d 95
JimmyAREM 10:c27f3e788466 96 wait(1);
JimmyAREM 10:c27f3e788466 97 prendre4Palets();
JimmyAREM 10:c27f3e788466 98 wait(3);
JimmyAREM 10:c27f3e788466 99 stopPompe();
JimmyAREM 10:c27f3e788466 100 wait(5);
JimmyAREM 10:c27f3e788466 101 robot.ligne_droite_basique(120000);
JimmyAREM 10:c27f3e788466 102 robot.marche_arriere(-120000);
JimmyAREM 9:00361ecc429d 103 robot.rotation_rel(-90);
JimmyAREM 10:c27f3e788466 104 robot.ligne_droite_basique(60000);
JimmyAREM 10:c27f3e788466 105 robot.rotation_rel(90);
JimmyAREM 10:c27f3e788466 106 robot.ligne_droite_basique(80000);
JimmyAREM 1:785b37686185 107 etapeMatch++;
JimmyAREM 7:392aa81893eb 108
JimmyAREM 7:392aa81893eb 109 break;
JimmyAREM 7:392aa81893eb 110
JimmyAREM 7:392aa81893eb 111 default: {
JimmyAREM 7:392aa81893eb 112 robot.vitesse_nulle_D(0);
JimmyAREM 7:392aa81893eb 113 robot.vitesse_nulle_G(0);
JimmyAREM 7:392aa81893eb 114 motors_stop();
JimmyAREM 7:392aa81893eb 115 }
JimmyAREM 1:785b37686185 116 }
JimmyAREM 7:392aa81893eb 117 }
JimmyAREM 7:392aa81893eb 118
JimmyAREM 7:392aa81893eb 119 //ArrĂȘter les moteurs
JimmyAREM 7:392aa81893eb 120 robot.vitesse_nulle_D(0);
JimmyAREM 7:392aa81893eb 121 robot.vitesse_nulle_G(0);
JimmyAREM 7:392aa81893eb 122 motors_stop();
JimmyAREM 7:392aa81893eb 123 while(1);
JimmyAREM 1:785b37686185 124 }
JimmyAREM 1:785b37686185 125 }
JimmyAREM 2:e0402d1e9ed5 126 /*-------Fin Stratégie homologation violet------------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 127
JimmyAREM 2:e0402d1e9ed5 128
JimmyAREM 2:e0402d1e9ed5 129 /*-------Debut Strategie homologation jaune-----------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 130
JimmyAREM 4:7a9a9720e4d0 131
JimmyAREM 7:392aa81893eb 132 void strategieHomologationJaune(deplacement robot, Demarreur demarreur)
JimmyAREM 2:e0402d1e9ed5 133 {
JimmyAREM 2:e0402d1e9ed5 134 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 135 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 136 int etapeMatch = 0;
JimmyAREM 7:392aa81893eb 137 while(demarreur.getState() == false) {
JimmyAREM 2:e0402d1e9ed5 138 //on attend
JimmyAREM 2:e0402d1e9ed5 139 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 140 }
JimmyAREM 2:e0402d1e9ed5 141 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 9:00361ecc429d 142 //initJaune();
JimmyAREM 9:00361ecc429d 143 //robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 144 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 145 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 146 typeEvitement = ARRET;
JimmyAREM 7:392aa81893eb 147 while(tempsMatch <= TEMPSMATCH) {
JimmyAREM 4:7a9a9720e4d0 148 switch (etapeMatch) {
GuillaumeCH 6:db41c3f7245e 149
JimmyAREM 7:392aa81893eb 150 case 0 : { /* On tourne pour aller vers le terrain adverse et on avance jusqu'au milieu du terrain */
JimmyAREM 9:00361ecc429d 151
GuillaumeCH 6:db41c3f7245e 152 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 153 setEmplacementTest();
JimmyAREM 9:00361ecc429d 154 init_odometrie();
JimmyAREM 9:00361ecc429d 155 robot.va_au_point(80000,30000,-90);
JimmyAREM 9:00361ecc429d 156 robot.va_au_point(80000,80000,-90);
JimmyAREM 9:00361ecc429d 157 robot.va_au_point(30000,80000,-90);
JimmyAREM 9:00361ecc429d 158 robot.va_au_point(30000,30000,-90);
GuillaumeCH 6:db41c3f7245e 159 //robot.ligne_droite_basique(127500);
GuillaumeCH 6:db41c3f7245e 160 etapeMatch++;
JimmyAREM 7:392aa81893eb 161
JimmyAREM 7:392aa81893eb 162 break;
GuillaumeCH 6:db41c3f7245e 163 }
JimmyAREM 7:392aa81893eb 164 default: {
GuillaumeCH 6:db41c3f7245e 165 robot.vitesse_nulle_D(0);
GuillaumeCH 6:db41c3f7245e 166 robot.vitesse_nulle_G(0);
GuillaumeCH 6:db41c3f7245e 167 motors_stop();
JimmyAREM 9:00361ecc429d 168 stopPompe();
GuillaumeCH 6:db41c3f7245e 169 }
JimmyAREM 7:392aa81893eb 170 }
GuillaumeCH 6:db41c3f7245e 171 }
JimmyAREM 7:392aa81893eb 172
GuillaumeCH 6:db41c3f7245e 173 //ArrĂȘter les moteurs
GuillaumeCH 6:db41c3f7245e 174 robot.vitesse_nulle_D(0);
GuillaumeCH 6:db41c3f7245e 175 robot.vitesse_nulle_G(0);
GuillaumeCH 6:db41c3f7245e 176 motors_stop();
JimmyAREM 9:00361ecc429d 177 stopPompe();
GuillaumeCH 6:db41c3f7245e 178 while(1);
JimmyAREM 2:e0402d1e9ed5 179 }
JimmyAREM 2:e0402d1e9ed5 180
JimmyAREM 2:e0402d1e9ed5 181 /*Fin Strategie homologation jaune -------------------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 182
JimmyAREM 2:e0402d1e9ed5 183
JimmyAREM 2:e0402d1e9ed5 184 /*Debut Strategie classique violet -------------------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 185
JimmyAREM 2:e0402d1e9ed5 186
JimmyAREM 7:392aa81893eb 187 void strategieClassiqueViolet(deplacement robot, Demarreur demarreur)
JimmyAREM 0:a89fe490343e 188 {
JimmyAREM 0:a89fe490343e 189 write(bufferScore);
JimmyAREM 0:a89fe490343e 190 Timer tempsMatch; // timer en seconde
JimmyAREM 0:a89fe490343e 191 int etapeMatch = 0;
JimmyAREM 9:00361ecc429d 192 initViolet();
JimmyAREM 7:392aa81893eb 193 while(demarreur.getState() == false) {
JimmyAREM 0:a89fe490343e 194 //on attend
JimmyAREM 9:00361ecc429d 195 pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 0:a89fe490343e 196 }
JimmyAREM 1:785b37686185 197 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 9:00361ecc429d 198 //robot.initialisation();//check si modif
JimmyAREM 0:a89fe490343e 199 lancerTimerEcran();
JimmyAREM 0:a89fe490343e 200 tempsMatch.start();
JimmyAREM 9:00361ecc429d 201 //typeEvitement = ARRET;
JimmyAREM 9:00361ecc429d 202
JimmyAREM 7:392aa81893eb 203 while(tempsMatch <= TEMPSMATCH) {
JimmyAREM 0:a89fe490343e 204 switch (etapeMatch) {
JimmyAREM 0:a89fe490343e 205
JimmyAREM 9:00361ecc429d 206 case 0 : { /* on prend les 3 palets du petit distributeur */
JimmyAREM 9:00361ecc429d 207 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 208 typeEvitement = ARRET;
JimmyAREM 9:00361ecc429d 209 robot.va_au_point(27500,178000,90);
JimmyAREM 9:00361ecc429d 210 etapeMatch++;
JimmyAREM 9:00361ecc429d 211 break;
JimmyAREM 9:00361ecc429d 212 }
JimmyAREM 9:00361ecc429d 213 case 1: {
JimmyAREM 9:00361ecc429d 214 if(actionLancer != true) {
JimmyAREM 9:00361ecc429d 215 prendre3Palets();
JimmyAREM 9:00361ecc429d 216 actionLancer = true;
JimmyAREM 9:00361ecc429d 217 }
JimmyAREM 9:00361ecc429d 218
JimmyAREM 9:00361ecc429d 219 if(finActions == true) {
JimmyAREM 9:00361ecc429d 220 finActions = false;
JimmyAREM 9:00361ecc429d 221 actionLancer = false;
JimmyAREM 9:00361ecc429d 222 etapeMatch++;
JimmyAREM 9:00361ecc429d 223 }
JimmyAREM 9:00361ecc429d 224 break;
JimmyAREM 9:00361ecc429d 225 }
JimmyAREM 9:00361ecc429d 226 case 2 : { /* On se place entre la case rouge et verte pour poser le palet rouge */
JimmyAREM 9:00361ecc429d 227 robot.poussette(2000);
JimmyAREM 9:00361ecc429d 228 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 229 robot.marche_arriere(-50000);
JimmyAREM 9:00361ecc429d 230 robot.rotation_abs(-90);
JimmyAREM 9:00361ecc429d 231 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 232 robot.va_au_point(22500,60000,-90);
JimmyAREM 9:00361ecc429d 233 etapeMatch++;
JimmyAREM 9:00361ecc429d 234 break;
JimmyAREM 9:00361ecc429d 235 }
JimmyAREM 9:00361ecc429d 236 case 3 : {
JimmyAREM 9:00361ecc429d 237 if(actionLancer != true) {
JimmyAREM 9:00361ecc429d 238 lacherVentouse3();
JimmyAREM 9:00361ecc429d 239 actionLancer = true;
JimmyAREM 9:00361ecc429d 240 }
JimmyAREM 9:00361ecc429d 241 if(finActions == true) {
JimmyAREM 9:00361ecc429d 242 updateAndWriteScore('0', '0', '6');
JimmyAREM 9:00361ecc429d 243 finActions = false;
JimmyAREM 9:00361ecc429d 244 actionLancer = false;
JimmyAREM 9:00361ecc429d 245 etapeMatch++;
JimmyAREM 9:00361ecc429d 246 }
JimmyAREM 9:00361ecc429d 247 break;
JimmyAREM 9:00361ecc429d 248 }
JimmyAREM 9:00361ecc429d 249 case 4 : { /* On se place entre la case verte et bleue pour poser le palet vert */
JimmyAREM 9:00361ecc429d 250 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 251 wait(2);
JimmyAREM 9:00361ecc429d 252 robot.marche_arriere(-30000);
JimmyAREM 9:00361ecc429d 253 etapeMatch++;
JimmyAREM 9:00361ecc429d 254 break;
JimmyAREM 9:00361ecc429d 255 }
JimmyAREM 9:00361ecc429d 256 case 5 : {
JimmyAREM 9:00361ecc429d 257 if(actionLancer != true) {
JimmyAREM 9:00361ecc429d 258 lacherVentouse2();
JimmyAREM 9:00361ecc429d 259 actionLancer = true;
JimmyAREM 9:00361ecc429d 260 }
JimmyAREM 9:00361ecc429d 261 if(finActions == true) {
JimmyAREM 9:00361ecc429d 262 updateAndWriteScore('0', '1', '2');
JimmyAREM 9:00361ecc429d 263 finActions = false;
JimmyAREM 9:00361ecc429d 264 actionLancer = false;
JimmyAREM 9:00361ecc429d 265 etapeMatch++;
JimmyAREM 9:00361ecc429d 266 }
JimmyAREM 9:00361ecc429d 267 break;
JimmyAREM 9:00361ecc429d 268 }
JimmyAREM 9:00361ecc429d 269 case 6 : { /* On se place en bordure de la case bleue pour poser le palet bleu */
JimmyAREM 9:00361ecc429d 270 wait(2);
JimmyAREM 9:00361ecc429d 271 robot.marche_arriere(-30000);
JimmyAREM 9:00361ecc429d 272
JimmyAREM 9:00361ecc429d 273 etapeMatch++;
JimmyAREM 9:00361ecc429d 274 break;
JimmyAREM 9:00361ecc429d 275 }
JimmyAREM 9:00361ecc429d 276 case 7 : {
JimmyAREM 9:00361ecc429d 277 if(actionLancer != true) {
JimmyAREM 9:00361ecc429d 278 lacherVentouse1();
JimmyAREM 9:00361ecc429d 279 stopPompe();
JimmyAREM 9:00361ecc429d 280 actionLancer = true;
JimmyAREM 9:00361ecc429d 281 }
JimmyAREM 9:00361ecc429d 282 if(finActions == true) {
JimmyAREM 9:00361ecc429d 283 updateAndWriteScore('0', '1', '8');
JimmyAREM 9:00361ecc429d 284 finActions = false;
JimmyAREM 9:00361ecc429d 285 actionLancer = false;
JimmyAREM 9:00361ecc429d 286 etapeMatch++;
JimmyAREM 9:00361ecc429d 287 }
JimmyAREM 9:00361ecc429d 288 break;
JimmyAREM 9:00361ecc429d 289 }
JimmyAREM 9:00361ecc429d 290 case 8 : {
JimmyAREM 9:00361ecc429d 291 wait(2);
JimmyAREM 9:00361ecc429d 292 robot.marche_arriere(-50000);
JimmyAREM 9:00361ecc429d 293 etapeMatch = 30;;
JimmyAREM 9:00361ecc429d 294 break;
JimmyAREM 9:00361ecc429d 295 }
JimmyAREM 9:00361ecc429d 296 case 9 : { /* on est placé devant le grand distributeur pour prendre les 4 premiers palets */
JimmyAREM 9:00361ecc429d 297 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 298 //robot.va_au_point(70000,130000,90);
JimmyAREM 9:00361ecc429d 299 robot.va_au_point(65000,130000,90);
JimmyAREM 9:00361ecc429d 300 robot.ligne_droite_basique(5000);
JimmyAREM 9:00361ecc429d 301 etapeMatch++;
JimmyAREM 9:00361ecc429d 302 break;
JimmyAREM 9:00361ecc429d 303 }
JimmyAREM 9:00361ecc429d 304 case 10 : {
JimmyAREM 9:00361ecc429d 305 if(actionLancer != true) {
JimmyAREM 9:00361ecc429d 306 prendre4Palets();
JimmyAREM 9:00361ecc429d 307 actionLancer = true;
JimmyAREM 9:00361ecc429d 308 }
JimmyAREM 9:00361ecc429d 309 if(finActions == true) {
JimmyAREM 9:00361ecc429d 310 finActions = false;
JimmyAREM 9:00361ecc429d 311 actionLancer = false;
JimmyAREM 9:00361ecc429d 312 etapeMatch++;
JimmyAREM 9:00361ecc429d 313 }
JimmyAREM 9:00361ecc429d 314 break;
JimmyAREM 9:00361ecc429d 315 }
JimmyAREM 9:00361ecc429d 316 case 11 : {
JimmyAREM 9:00361ecc429d 317 robot.poussette(2000);
JimmyAREM 9:00361ecc429d 318 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 319 robot.marche_arriere(-5000);
JimmyAREM 9:00361ecc429d 320 etapeMatch++;
JimmyAREM 9:00361ecc429d 321 break;
JimmyAREM 9:00361ecc429d 322 }
JimmyAREM 9:00361ecc429d 323 case 12 : /* On se place devant la case bleu, on pousse le palet qui y est devant puis on lache le bleu */
JimmyAREM 9:00361ecc429d 324 {
JimmyAREM 9:00361ecc429d 325 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 326 robot.va_au_point(70000,105000,180);
JimmyAREM 9:00361ecc429d 327 robot.ligne_droite_basique(10000);
JimmyAREM 9:00361ecc429d 328 etapeMatch++;
JimmyAREM 9:00361ecc429d 329 break;
JimmyAREM 9:00361ecc429d 330 }
JimmyAREM 9:00361ecc429d 331 case 13 :
JimmyAREM 9:00361ecc429d 332 {
JimmyAREM 9:00361ecc429d 333 if(actionLancer == false)
JimmyAREM 9:00361ecc429d 334 {
JimmyAREM 9:00361ecc429d 335 lacherVentouse4();
JimmyAREM 9:00361ecc429d 336 updateAndWriteScore('0', '2', '4');
JimmyAREM 9:00361ecc429d 337 actionLancer = true;
JimmyAREM 9:00361ecc429d 338 }
JimmyAREM 9:00361ecc429d 339 if(finActions)
JimmyAREM 9:00361ecc429d 340 {
JimmyAREM 9:00361ecc429d 341 actionLancer = false;
JimmyAREM 9:00361ecc429d 342 finActions = false;
JimmyAREM 9:00361ecc429d 343 etapeMatch++;
JimmyAREM 9:00361ecc429d 344 }
JimmyAREM 9:00361ecc429d 345 break;
JimmyAREM 9:00361ecc429d 346 }
JimmyAREM 9:00361ecc429d 347 case 14 : /* On se place devant la case verte et on lache le vert*/
JimmyAREM 9:00361ecc429d 348 {
JimmyAREM 9:00361ecc429d 349 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 350 robot.marche_arriere(-5000);
JimmyAREM 0:a89fe490343e 351 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 352 robot.va_au_point(58000,83000,180);
JimmyAREM 9:00361ecc429d 353 robot.ligne_droite_basique(5000);
JimmyAREM 9:00361ecc429d 354 etapeMatch++;
JimmyAREM 9:00361ecc429d 355 break;
JimmyAREM 9:00361ecc429d 356 }
JimmyAREM 9:00361ecc429d 357 case 15 :
JimmyAREM 9:00361ecc429d 358 {
JimmyAREM 9:00361ecc429d 359 if(actionLancer == false)
JimmyAREM 9:00361ecc429d 360 {
JimmyAREM 9:00361ecc429d 361 lacherVentouse2();
JimmyAREM 9:00361ecc429d 362 updateAndWriteScore('0', '3', '0');
JimmyAREM 9:00361ecc429d 363 actionLancer = true;
JimmyAREM 9:00361ecc429d 364 }
JimmyAREM 9:00361ecc429d 365 if(finActions)
JimmyAREM 9:00361ecc429d 366 {
JimmyAREM 9:00361ecc429d 367 actionLancer = false;
JimmyAREM 9:00361ecc429d 368 finActions = false;
JimmyAREM 9:00361ecc429d 369 etapeMatch++;
JimmyAREM 9:00361ecc429d 370 }
JimmyAREM 9:00361ecc429d 371 break;
JimmyAREM 9:00361ecc429d 372 }
JimmyAREM 9:00361ecc429d 373 case 16 : /* On se place devant la case rouge et on lache le rouge*/
JimmyAREM 9:00361ecc429d 374 {
JimmyAREM 9:00361ecc429d 375 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 376 robot.marche_arriere(-5000);
JimmyAREM 9:00361ecc429d 377 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 378 robot.va_au_point(58000,45000,180);
JimmyAREM 9:00361ecc429d 379 robot.ligne_droite_basique(5000);
JimmyAREM 9:00361ecc429d 380 etapeMatch++;
JimmyAREM 9:00361ecc429d 381 break;
JimmyAREM 9:00361ecc429d 382 }
JimmyAREM 9:00361ecc429d 383 case 17 :
JimmyAREM 9:00361ecc429d 384 {
JimmyAREM 9:00361ecc429d 385 if(actionLancer == false)
JimmyAREM 9:00361ecc429d 386 {
JimmyAREM 9:00361ecc429d 387 //lacherVentouse1();
JimmyAREM 9:00361ecc429d 388 //lacherVentouse3();
JimmyAREM 9:00361ecc429d 389 stopPompe();
JimmyAREM 9:00361ecc429d 390 updateAndWriteScore('0', '4', '2');
JimmyAREM 9:00361ecc429d 391 actionLancer = true;
JimmyAREM 9:00361ecc429d 392 }
JimmyAREM 9:00361ecc429d 393 if(finActions)
JimmyAREM 9:00361ecc429d 394 {
JimmyAREM 9:00361ecc429d 395 actionLancer = false;
JimmyAREM 9:00361ecc429d 396 finActions = false;
JimmyAREM 9:00361ecc429d 397 etapeMatch++;
JimmyAREM 9:00361ecc429d 398 }
JimmyAREM 9:00361ecc429d 399 break;
JimmyAREM 9:00361ecc429d 400 }
JimmyAREM 9:00361ecc429d 401 case 18 :
JimmyAREM 9:00361ecc429d 402 {
JimmyAREM 9:00361ecc429d 403 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 404 robot.marche_arriere(-5000);
JimmyAREM 9:00361ecc429d 405 etapeMatch++;
JimmyAREM 9:00361ecc429d 406 break;
JimmyAREM 9:00361ecc429d 407 }
JimmyAREM 9:00361ecc429d 408 case 19 : /* On depose prend les 2 derniers palets du grand distributeur */
JimmyAREM 9:00361ecc429d 409 {
JimmyAREM 9:00361ecc429d 410 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 411 robot.va_au_point(85000,130000,90);
JimmyAREM 9:00361ecc429d 412 robot.ligne_droite_basique(5000);
JimmyAREM 0:a89fe490343e 413 etapeMatch++;
JimmyAREM 9:00361ecc429d 414 break;
JimmyAREM 9:00361ecc429d 415 }
JimmyAREM 9:00361ecc429d 416 case 20 :
JimmyAREM 9:00361ecc429d 417 {
JimmyAREM 9:00361ecc429d 418 if(actionLancer != true) {
JimmyAREM 9:00361ecc429d 419 prendre2Palets();
JimmyAREM 9:00361ecc429d 420 actionLancer = true;
JimmyAREM 9:00361ecc429d 421 }
JimmyAREM 9:00361ecc429d 422 if(finActions == true) {
JimmyAREM 9:00361ecc429d 423 finActions = false;
JimmyAREM 9:00361ecc429d 424 actionLancer = false;
JimmyAREM 9:00361ecc429d 425 etapeMatch++;
JimmyAREM 9:00361ecc429d 426 }
JimmyAREM 7:392aa81893eb 427 break;
JimmyAREM 0:a89fe490343e 428 }
JimmyAREM 9:00361ecc429d 429 case 21 :
JimmyAREM 9:00361ecc429d 430 {
JimmyAREM 9:00361ecc429d 431 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 432 robot.marche_arriere(-5000);
JimmyAREM 9:00361ecc429d 433 etapeMatch++;
JimmyAREM 9:00361ecc429d 434 break;
JimmyAREM 9:00361ecc429d 435 }
JimmyAREM 9:00361ecc429d 436 case 22 : /* On se place devant la case verte et on lache le vert*/
JimmyAREM 9:00361ecc429d 437 {
JimmyAREM 9:00361ecc429d 438 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 439 robot.marche_arriere(-5000);
JimmyAREM 9:00361ecc429d 440 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 441 robot.va_au_point(58000,83000,180);
JimmyAREM 9:00361ecc429d 442 robot.ligne_droite_basique(5000);
JimmyAREM 9:00361ecc429d 443 etapeMatch++;
JimmyAREM 9:00361ecc429d 444 break;
JimmyAREM 9:00361ecc429d 445 }
JimmyAREM 9:00361ecc429d 446 case 23 :
JimmyAREM 9:00361ecc429d 447 {
JimmyAREM 9:00361ecc429d 448 if(actionLancer == false)
JimmyAREM 9:00361ecc429d 449 {
JimmyAREM 9:00361ecc429d 450 lacherVentouse4();
JimmyAREM 9:00361ecc429d 451 updateAndWriteScore('0', '4', '8');
JimmyAREM 9:00361ecc429d 452 actionLancer = true;
JimmyAREM 9:00361ecc429d 453 }
JimmyAREM 9:00361ecc429d 454 if(finActions)
JimmyAREM 9:00361ecc429d 455 {
JimmyAREM 9:00361ecc429d 456 actionLancer = false;
JimmyAREM 9:00361ecc429d 457 finActions = false;
JimmyAREM 9:00361ecc429d 458 etapeMatch++;
JimmyAREM 9:00361ecc429d 459 }
JimmyAREM 9:00361ecc429d 460 break;
JimmyAREM 9:00361ecc429d 461 }
JimmyAREM 9:00361ecc429d 462 case 24 : /* On se place devant la case rouge et on lache le rouge*/
JimmyAREM 9:00361ecc429d 463 {
JimmyAREM 9:00361ecc429d 464 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 465 robot.marche_arriere(-5000);
JimmyAREM 9:00361ecc429d 466 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 467 robot.va_au_point(58000,45000,180);
JimmyAREM 9:00361ecc429d 468 robot.ligne_droite_basique(5000);
JimmyAREM 9:00361ecc429d 469 etapeMatch++;
JimmyAREM 9:00361ecc429d 470 break;
JimmyAREM 9:00361ecc429d 471 }
JimmyAREM 9:00361ecc429d 472 case 25 :
JimmyAREM 9:00361ecc429d 473 {
JimmyAREM 9:00361ecc429d 474 if(actionLancer == false)
JimmyAREM 9:00361ecc429d 475 {
JimmyAREM 9:00361ecc429d 476 //lacherVentouse3();
JimmyAREM 9:00361ecc429d 477 stopPompe();
JimmyAREM 9:00361ecc429d 478 updateAndWriteScore('0', '5', '4');
JimmyAREM 9:00361ecc429d 479 actionLancer = true;
JimmyAREM 9:00361ecc429d 480 }
JimmyAREM 9:00361ecc429d 481 if(finActions)
JimmyAREM 9:00361ecc429d 482 {
JimmyAREM 9:00361ecc429d 483 actionLancer = false;
JimmyAREM 9:00361ecc429d 484 finActions = false;
JimmyAREM 9:00361ecc429d 485 etapeMatch++;
JimmyAREM 9:00361ecc429d 486 }
JimmyAREM 9:00361ecc429d 487 break;
JimmyAREM 9:00361ecc429d 488 }
JimmyAREM 9:00361ecc429d 489 /* case 26 :
JimmyAREM 9:00361ecc429d 490 {
JimmyAREM 9:00361ecc429d 491 if(actionLancer == false)
JimmyAREM 9:00361ecc429d 492 {
JimmyAREM 9:00361ecc429d 493 stopPompe();
JimmyAREM 9:00361ecc429d 494 actionLancer = true;
JimmyAREM 9:00361ecc429d 495 }
JimmyAREM 9:00361ecc429d 496 if(finActions)
JimmyAREM 9:00361ecc429d 497 {
JimmyAREM 9:00361ecc429d 498 actionLancer = false;
JimmyAREM 9:00361ecc429d 499 finActions = false;
JimmyAREM 9:00361ecc429d 500 etapeMatch++;
JimmyAREM 9:00361ecc429d 501 }
JimmyAREM 9:00361ecc429d 502 break;
JimmyAREM 9:00361ecc429d 503 }*/
JimmyAREM 9:00361ecc429d 504 case 26 : /* On laisse la place au robot2 */
JimmyAREM 9:00361ecc429d 505 {
JimmyAREM 9:00361ecc429d 506
JimmyAREM 9:00361ecc429d 507 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 508 robot.va_au_point(65000,130000,90);
JimmyAREM 9:00361ecc429d 509 etapeMatch++;
JimmyAREM 9:00361ecc429d 510 break;
JimmyAREM 9:00361ecc429d 511 }
JimmyAREM 7:392aa81893eb 512 default: {
JimmyAREM 0:a89fe490343e 513 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 514 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 515 motors_stop();
JimmyAREM 9:00361ecc429d 516 stopPompe();
JimmyAREM 9:00361ecc429d 517 stopPompe();
JimmyAREM 9:00361ecc429d 518 stopPompe();
JimmyAREM 0:a89fe490343e 519 }
JimmyAREM 7:392aa81893eb 520 }
JimmyAREM 0:a89fe490343e 521 }
JimmyAREM 7:392aa81893eb 522
JimmyAREM 0:a89fe490343e 523 //ArrĂȘter les moteurs
JimmyAREM 0:a89fe490343e 524 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 525 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 526 motors_stop();
JimmyAREM 9:00361ecc429d 527 stopPompe();
JimmyAREM 0:a89fe490343e 528 while(1);
JimmyAREM 0:a89fe490343e 529 }
JimmyAREM 0:a89fe490343e 530
JimmyAREM 2:e0402d1e9ed5 531 /*-------- Fin Strategie classique violet -----------------------------------------------*/
JimmyAREM 0:a89fe490343e 532
JimmyAREM 0:a89fe490343e 533
JimmyAREM 2:e0402d1e9ed5 534 /*------- Debut Strategie classique Jaune -----------------------------------------------*/
JimmyAREM 0:a89fe490343e 535
JimmyAREM 0:a89fe490343e 536
JimmyAREM 7:392aa81893eb 537 void strategieClassiqueJaune(deplacement robot, Demarreur demarreur)
JimmyAREM 0:a89fe490343e 538 {
JimmyAREM 0:a89fe490343e 539 write(bufferScore);
JimmyAREM 0:a89fe490343e 540 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 541 int etapeMatch = 0;
JimmyAREM 9:00361ecc429d 542 initJaune();
JimmyAREM 7:392aa81893eb 543 while(demarreur.getState() == false) {
JimmyAREM 0:a89fe490343e 544 //on attend
JimmyAREM 0:a89fe490343e 545 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 0:a89fe490343e 546 }
JimmyAREM 9:00361ecc429d 547 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 9:00361ecc429d 548 //robot.initialisation();//check si modif
JimmyAREM 0:a89fe490343e 549 lancerTimerEcran();
JimmyAREM 0:a89fe490343e 550 tempsMatch.start();
JimmyAREM 9:00361ecc429d 551 //typeEvitement = ARRET;
JimmyAREM 9:00361ecc429d 552
JimmyAREM 7:392aa81893eb 553 while(tempsMatch <= TEMPSMATCH) {
JimmyAREM 0:a89fe490343e 554 switch (etapeMatch) {
JimmyAREM 0:a89fe490343e 555
JimmyAREM 9:00361ecc429d 556 case 0 : { /* on prend les 3 palets du petit distributeur */
JimmyAREM 9:00361ecc429d 557 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 558 typeEvitement = ARRET;
JimmyAREM 9:00361ecc429d 559 //robot.va_au_point(271800,178000,90);
JimmyAREM 9:00361ecc429d 560 robot.ligne_droite_basique(77000);
JimmyAREM 9:00361ecc429d 561 robot.poussette(2000);
JimmyAREM 9:00361ecc429d 562 robot.marche_arriere(-3000);
JimmyAREM 9:00361ecc429d 563 etapeMatch++;
JimmyAREM 9:00361ecc429d 564 break;
JimmyAREM 9:00361ecc429d 565 }
JimmyAREM 9:00361ecc429d 566 case 1: {
JimmyAREM 9:00361ecc429d 567 if(actionLancer != true) {
JimmyAREM 9:00361ecc429d 568 prendre3Palets();
JimmyAREM 9:00361ecc429d 569 actionLancer = true;
JimmyAREM 9:00361ecc429d 570 }
JimmyAREM 9:00361ecc429d 571 if(finActions == true) {
JimmyAREM 9:00361ecc429d 572 finActions = false;
JimmyAREM 9:00361ecc429d 573 actionLancer = false;
JimmyAREM 9:00361ecc429d 574 etapeMatch++;
JimmyAREM 9:00361ecc429d 575 }
JimmyAREM 9:00361ecc429d 576 break;
JimmyAREM 9:00361ecc429d 577 }
JimmyAREM 9:00361ecc429d 578 case 2 : { /* On se place entre la case rouge et verte pour poser le palet rouge */
JimmyAREM 9:00361ecc429d 579 robot.poussette(2000);
JimmyAREM 9:00361ecc429d 580 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 581 robot.marche_arriere(-50000);
JimmyAREM 9:00361ecc429d 582 robot.rotation_abs(-90);
JimmyAREM 9:00361ecc429d 583 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 584 //robot.va_au_point(277500,60000,-90);
JimmyAREM 9:00361ecc429d 585 robot.ligne_droite_basique(95000);
JimmyAREM 9:00361ecc429d 586 etapeMatch++;
JimmyAREM 9:00361ecc429d 587 break;
JimmyAREM 9:00361ecc429d 588 }
JimmyAREM 9:00361ecc429d 589 case 3 : {
JimmyAREM 9:00361ecc429d 590 if(actionLancer != true) {
JimmyAREM 9:00361ecc429d 591 lacherVentouse2();
JimmyAREM 9:00361ecc429d 592 actionLancer = true;
JimmyAREM 9:00361ecc429d 593 }
JimmyAREM 9:00361ecc429d 594 if(finActions == true) {
JimmyAREM 9:00361ecc429d 595 updateAndWriteScore('0', '0', '6');
JimmyAREM 9:00361ecc429d 596 finActions = false;
JimmyAREM 9:00361ecc429d 597 actionLancer = false;
JimmyAREM 9:00361ecc429d 598 etapeMatch++;
JimmyAREM 9:00361ecc429d 599 }
JimmyAREM 9:00361ecc429d 600 break;
JimmyAREM 9:00361ecc429d 601 }
JimmyAREM 9:00361ecc429d 602 case 4 : { /* On se place entre la case verte et bleue pour poser le palet vert */
JimmyAREM 9:00361ecc429d 603 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 604 wait(1);
JimmyAREM 9:00361ecc429d 605 robot.marche_arriere(-30000);
JimmyAREM 9:00361ecc429d 606 etapeMatch++;
JimmyAREM 9:00361ecc429d 607 break;
JimmyAREM 9:00361ecc429d 608 }
JimmyAREM 9:00361ecc429d 609 case 5 : {
JimmyAREM 9:00361ecc429d 610 if(actionLancer != true) {
JimmyAREM 9:00361ecc429d 611 lacherVentouse3();
JimmyAREM 9:00361ecc429d 612 actionLancer = true;
JimmyAREM 9:00361ecc429d 613 }
JimmyAREM 9:00361ecc429d 614 if(finActions == true) {
JimmyAREM 9:00361ecc429d 615 updateAndWriteScore('0', '1', '2');
JimmyAREM 9:00361ecc429d 616 finActions = false;
JimmyAREM 9:00361ecc429d 617 actionLancer = false;
JimmyAREM 9:00361ecc429d 618 etapeMatch++;
JimmyAREM 9:00361ecc429d 619 }
JimmyAREM 9:00361ecc429d 620 break;
JimmyAREM 9:00361ecc429d 621 }
JimmyAREM 9:00361ecc429d 622 case 6 : { /* On se place en bordure de la case bleue pour poser le palet bleu */
JimmyAREM 9:00361ecc429d 623 wait(1);
JimmyAREM 9:00361ecc429d 624 robot.marche_arriere(-30000);
JimmyAREM 9:00361ecc429d 625 etapeMatch++;
JimmyAREM 9:00361ecc429d 626 break;
JimmyAREM 9:00361ecc429d 627 }
JimmyAREM 9:00361ecc429d 628 case 7 : {
JimmyAREM 9:00361ecc429d 629 if(actionLancer != true) {
JimmyAREM 9:00361ecc429d 630 lacherVentouse4();
JimmyAREM 9:00361ecc429d 631 actionLancer = true;
JimmyAREM 9:00361ecc429d 632 }
JimmyAREM 9:00361ecc429d 633 if(finActions == true) {
JimmyAREM 9:00361ecc429d 634 updateAndWriteScore('0', '1', '8');
JimmyAREM 9:00361ecc429d 635 finActions = false;
JimmyAREM 9:00361ecc429d 636 actionLancer = false;
JimmyAREM 9:00361ecc429d 637 etapeMatch++;
JimmyAREM 9:00361ecc429d 638 }
JimmyAREM 9:00361ecc429d 639 break;
JimmyAREM 9:00361ecc429d 640 }
JimmyAREM 9:00361ecc429d 641 case 8 : {
JimmyAREM 9:00361ecc429d 642 wait(1);
JimmyAREM 9:00361ecc429d 643 robot.marche_arriere(-15000);
JimmyAREM 9:00361ecc429d 644 robot.rotation_abs(180);
JimmyAREM 9:00361ecc429d 645 robot.ligne_droite_basique(40000);
JimmyAREM 9:00361ecc429d 646 robot.rotation_abs(90);
JimmyAREM 9:00361ecc429d 647 robot.ligne_droite_basique(5000);
JimmyAREM 9:00361ecc429d 648 robot.poussette(2000);
JimmyAREM 9:00361ecc429d 649 robot.marche_arriere(-3000);
JimmyAREM 9:00361ecc429d 650 etapeMatch++; //a modifier aprĂšs le match
JimmyAREM 9:00361ecc429d 651 break;
JimmyAREM 9:00361ecc429d 652 }
JimmyAREM 9:00361ecc429d 653 case 9 : { /* on est placé devant le grand distributeur pour prendre les 4 premiers palets */
JimmyAREM 9:00361ecc429d 654 if(actionLancer != true) {
JimmyAREM 9:00361ecc429d 655 prendre4Palets();
JimmyAREM 9:00361ecc429d 656 actionLancer = true;
JimmyAREM 9:00361ecc429d 657 }
JimmyAREM 9:00361ecc429d 658 if(finActions == true) {
JimmyAREM 9:00361ecc429d 659 finActions = false;
JimmyAREM 9:00361ecc429d 660 actionLancer = false;
JimmyAREM 9:00361ecc429d 661 etapeMatch++;
JimmyAREM 9:00361ecc429d 662 }
JimmyAREM 9:00361ecc429d 663 break;
JimmyAREM 9:00361ecc429d 664 }
JimmyAREM 9:00361ecc429d 665 case 10 : {
JimmyAREM 9:00361ecc429d 666 robot.poussette(3000);
JimmyAREM 9:00361ecc429d 667 robot.marche_arriere(-10000);
JimmyAREM 9:00361ecc429d 668 etapeMatch++;
JimmyAREM 9:00361ecc429d 669 break;
JimmyAREM 9:00361ecc429d 670 }
JimmyAREM 9:00361ecc429d 671 case 11 : {
JimmyAREM 9:00361ecc429d 672 //prise des 4
JimmyAREM 9:00361ecc429d 673 while(1);
JimmyAREM 9:00361ecc429d 674 robot.poussette(2000);
JimmyAREM 9:00361ecc429d 675 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 676 robot.marche_arriere(-5000);
JimmyAREM 9:00361ecc429d 677 etapeMatch++;
JimmyAREM 9:00361ecc429d 678 break;
JimmyAREM 9:00361ecc429d 679 }
JimmyAREM 9:00361ecc429d 680 case 12 : /* On se place devant la case bleu, on pousse le palet qui y est devant puis on lache le bleu */
JimmyAREM 9:00361ecc429d 681 {
JimmyAREM 9:00361ecc429d 682 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 683 robot.va_au_point(230000,105000,0);
JimmyAREM 9:00361ecc429d 684 robot.ligne_droite_basique(10000);
JimmyAREM 9:00361ecc429d 685 etapeMatch++;
JimmyAREM 9:00361ecc429d 686 }
JimmyAREM 9:00361ecc429d 687 case 13 :
JimmyAREM 9:00361ecc429d 688 {
JimmyAREM 9:00361ecc429d 689 if(actionLancer == false)
JimmyAREM 9:00361ecc429d 690 {
JimmyAREM 9:00361ecc429d 691 lacherVentouse1();
JimmyAREM 9:00361ecc429d 692 updateAndWriteScore('0', '2', '4');
JimmyAREM 9:00361ecc429d 693 actionLancer = true;
JimmyAREM 9:00361ecc429d 694 }
JimmyAREM 9:00361ecc429d 695 if(finActions)
JimmyAREM 9:00361ecc429d 696 {
JimmyAREM 9:00361ecc429d 697 actionLancer = false;
JimmyAREM 9:00361ecc429d 698 finActions = false;
JimmyAREM 9:00361ecc429d 699 etapeMatch++;
JimmyAREM 9:00361ecc429d 700 }
JimmyAREM 9:00361ecc429d 701 break;
JimmyAREM 9:00361ecc429d 702 }
JimmyAREM 9:00361ecc429d 703 case 14 : /* On se place devant la case verte et on lache le vert*/
JimmyAREM 9:00361ecc429d 704 {
JimmyAREM 9:00361ecc429d 705 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 706 robot.marche_arriere(-5000);
JimmyAREM 4:7a9a9720e4d0 707 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 708 robot.va_au_point(242000,83000,0);
JimmyAREM 9:00361ecc429d 709 robot.ligne_droite_basique(5000);
JimmyAREM 9:00361ecc429d 710 etapeMatch++;
JimmyAREM 9:00361ecc429d 711 break;
JimmyAREM 9:00361ecc429d 712 }
JimmyAREM 9:00361ecc429d 713 case 15 :
JimmyAREM 9:00361ecc429d 714 {
JimmyAREM 9:00361ecc429d 715 if(actionLancer == false)
JimmyAREM 9:00361ecc429d 716 {
JimmyAREM 9:00361ecc429d 717 lacherVentouse3();
JimmyAREM 9:00361ecc429d 718 updateAndWriteScore('0', '3', '0');
JimmyAREM 9:00361ecc429d 719 actionLancer = true;
JimmyAREM 9:00361ecc429d 720 }
JimmyAREM 9:00361ecc429d 721 if(finActions)
JimmyAREM 9:00361ecc429d 722 {
JimmyAREM 9:00361ecc429d 723 actionLancer = false;
JimmyAREM 9:00361ecc429d 724 finActions = false;
JimmyAREM 9:00361ecc429d 725 etapeMatch++;
JimmyAREM 9:00361ecc429d 726 }
JimmyAREM 9:00361ecc429d 727 break;
JimmyAREM 9:00361ecc429d 728 }
JimmyAREM 9:00361ecc429d 729 case 16 : /* On se place devant la case rouge et on lache le rouge*/
JimmyAREM 9:00361ecc429d 730 {
JimmyAREM 9:00361ecc429d 731 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 732 robot.marche_arriere(-5000);
JimmyAREM 9:00361ecc429d 733 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 734 robot.va_au_point(242000,45000,0);
JimmyAREM 9:00361ecc429d 735 robot.ligne_droite_basique(5000);
JimmyAREM 9:00361ecc429d 736 etapeMatch++;
JimmyAREM 9:00361ecc429d 737 break;
JimmyAREM 9:00361ecc429d 738 }
JimmyAREM 9:00361ecc429d 739 case 17 :
JimmyAREM 9:00361ecc429d 740 {
JimmyAREM 9:00361ecc429d 741 if(actionLancer == false)
JimmyAREM 9:00361ecc429d 742 {
JimmyAREM 9:00361ecc429d 743 //lacherVentouse2();
JimmyAREM 9:00361ecc429d 744 //lacherVentouse4();
JimmyAREM 9:00361ecc429d 745 stopPompe();
JimmyAREM 9:00361ecc429d 746 updateAndWriteScore('0', '4', '2');
JimmyAREM 9:00361ecc429d 747 actionLancer = true;
JimmyAREM 9:00361ecc429d 748 }
JimmyAREM 9:00361ecc429d 749 if(finActions)
JimmyAREM 9:00361ecc429d 750 {
JimmyAREM 9:00361ecc429d 751 actionLancer = false;
JimmyAREM 9:00361ecc429d 752 finActions = false;
JimmyAREM 9:00361ecc429d 753 etapeMatch++;
JimmyAREM 9:00361ecc429d 754 }
JimmyAREM 9:00361ecc429d 755 break;
JimmyAREM 9:00361ecc429d 756 }
JimmyAREM 9:00361ecc429d 757 case 18 :
JimmyAREM 9:00361ecc429d 758 {
JimmyAREM 9:00361ecc429d 759 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 760 robot.marche_arriere(-5000);
JimmyAREM 9:00361ecc429d 761 etapeMatch++;
JimmyAREM 9:00361ecc429d 762 break;
JimmyAREM 9:00361ecc429d 763 }
JimmyAREM 9:00361ecc429d 764 case 19 : /* On depose prend les 2 derniers palets du grand distributeur */
JimmyAREM 9:00361ecc429d 765 {
JimmyAREM 9:00361ecc429d 766 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 767 robot.va_au_point(215000,130000,90);
JimmyAREM 9:00361ecc429d 768 robot.ligne_droite_basique(5000);
JimmyAREM 0:a89fe490343e 769 etapeMatch++;
JimmyAREM 9:00361ecc429d 770 break;
JimmyAREM 9:00361ecc429d 771 }
JimmyAREM 9:00361ecc429d 772 case 20 :
JimmyAREM 9:00361ecc429d 773 {
JimmyAREM 9:00361ecc429d 774 if(actionLancer != true) {
JimmyAREM 9:00361ecc429d 775 prendre2Palets();
JimmyAREM 9:00361ecc429d 776 actionLancer = true;
JimmyAREM 9:00361ecc429d 777 }
JimmyAREM 9:00361ecc429d 778 if(finActions == true) {
JimmyAREM 9:00361ecc429d 779 finActions = false;
JimmyAREM 9:00361ecc429d 780 actionLancer = false;
JimmyAREM 9:00361ecc429d 781 etapeMatch++;
JimmyAREM 9:00361ecc429d 782 }
JimmyAREM 7:392aa81893eb 783 break;
JimmyAREM 0:a89fe490343e 784 }
JimmyAREM 9:00361ecc429d 785 case 21 :
JimmyAREM 9:00361ecc429d 786 {
JimmyAREM 9:00361ecc429d 787 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 788 robot.marche_arriere(-5000);
JimmyAREM 9:00361ecc429d 789 etapeMatch++;
JimmyAREM 9:00361ecc429d 790 break;
JimmyAREM 9:00361ecc429d 791 }
JimmyAREM 9:00361ecc429d 792 case 22 : /* On se place devant la case verte et on lache le vert*/
JimmyAREM 9:00361ecc429d 793 {
JimmyAREM 9:00361ecc429d 794 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 795 robot.marche_arriere(-5000);
JimmyAREM 9:00361ecc429d 796 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 797 robot.va_au_point(242000,83000,0);
JimmyAREM 9:00361ecc429d 798 robot.ligne_droite_basique(5000);
JimmyAREM 9:00361ecc429d 799 etapeMatch++;
JimmyAREM 9:00361ecc429d 800 break;
JimmyAREM 9:00361ecc429d 801 }
JimmyAREM 9:00361ecc429d 802 case 23 :
JimmyAREM 9:00361ecc429d 803 {
JimmyAREM 9:00361ecc429d 804 if(actionLancer == false)
JimmyAREM 9:00361ecc429d 805 {
JimmyAREM 9:00361ecc429d 806 lacherVentouse1();
JimmyAREM 9:00361ecc429d 807 updateAndWriteScore('0', '4', '8');
JimmyAREM 9:00361ecc429d 808 actionLancer = true;
JimmyAREM 9:00361ecc429d 809 }
JimmyAREM 9:00361ecc429d 810 if(finActions)
JimmyAREM 9:00361ecc429d 811 {
JimmyAREM 9:00361ecc429d 812 actionLancer = false;
JimmyAREM 9:00361ecc429d 813 finActions = false;
JimmyAREM 9:00361ecc429d 814 etapeMatch++;
JimmyAREM 9:00361ecc429d 815 }
JimmyAREM 9:00361ecc429d 816 break;
JimmyAREM 9:00361ecc429d 817 }
JimmyAREM 9:00361ecc429d 818 case 24 : /* On se place devant la case rouge et on lache le rouge*/
JimmyAREM 9:00361ecc429d 819 {
JimmyAREM 9:00361ecc429d 820 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 9:00361ecc429d 821 robot.marche_arriere(-5000);
JimmyAREM 9:00361ecc429d 822 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 823 robot.va_au_point(242000,45000,00);
JimmyAREM 9:00361ecc429d 824 robot.ligne_droite_basique(5000);
JimmyAREM 9:00361ecc429d 825 etapeMatch++;
JimmyAREM 9:00361ecc429d 826 break;
JimmyAREM 9:00361ecc429d 827 }
JimmyAREM 9:00361ecc429d 828 case 25 :
JimmyAREM 9:00361ecc429d 829 {
JimmyAREM 9:00361ecc429d 830 if(actionLancer == false)
JimmyAREM 9:00361ecc429d 831 {
JimmyAREM 9:00361ecc429d 832 //lacherVentouse2();
JimmyAREM 9:00361ecc429d 833 stopPompe();
JimmyAREM 9:00361ecc429d 834 updateAndWriteScore('0', '5', '4');
JimmyAREM 9:00361ecc429d 835 actionLancer = true;
JimmyAREM 9:00361ecc429d 836 }
JimmyAREM 9:00361ecc429d 837 if(finActions)
JimmyAREM 9:00361ecc429d 838 {
JimmyAREM 9:00361ecc429d 839 actionLancer = false;
JimmyAREM 9:00361ecc429d 840 finActions = false;
JimmyAREM 9:00361ecc429d 841 etapeMatch++;
JimmyAREM 9:00361ecc429d 842 }
JimmyAREM 9:00361ecc429d 843 break;
JimmyAREM 9:00361ecc429d 844 }
JimmyAREM 9:00361ecc429d 845 case 26 :
JimmyAREM 9:00361ecc429d 846 {
JimmyAREM 9:00361ecc429d 847 if(actionLancer == false)
JimmyAREM 9:00361ecc429d 848 {
JimmyAREM 9:00361ecc429d 849 stopPompe();
JimmyAREM 9:00361ecc429d 850 actionLancer = true;
JimmyAREM 9:00361ecc429d 851 }
JimmyAREM 9:00361ecc429d 852 if(finActions)
JimmyAREM 9:00361ecc429d 853 {
JimmyAREM 9:00361ecc429d 854 actionLancer = false;
JimmyAREM 9:00361ecc429d 855 finActions = false;
JimmyAREM 9:00361ecc429d 856 etapeMatch++;
JimmyAREM 9:00361ecc429d 857 }
JimmyAREM 9:00361ecc429d 858 break;
JimmyAREM 9:00361ecc429d 859 }
JimmyAREM 9:00361ecc429d 860 case 27 : /* On laisse la place au robot2 */
JimmyAREM 9:00361ecc429d 861 {
JimmyAREM 9:00361ecc429d 862
JimmyAREM 9:00361ecc429d 863 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 9:00361ecc429d 864 robot.va_au_point(235000,130000,90);
JimmyAREM 9:00361ecc429d 865 etapeMatch++;
JimmyAREM 9:00361ecc429d 866 break;
JimmyAREM 9:00361ecc429d 867 }
JimmyAREM 7:392aa81893eb 868 default: {
JimmyAREM 0:a89fe490343e 869 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 870 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 871 motors_stop();
JimmyAREM 9:00361ecc429d 872 stopPompe();
JimmyAREM 9:00361ecc429d 873 stopPompe();
JimmyAREM 9:00361ecc429d 874 stopPompe();
JimmyAREM 0:a89fe490343e 875 }
JimmyAREM 7:392aa81893eb 876 }
JimmyAREM 0:a89fe490343e 877 }
JimmyAREM 7:392aa81893eb 878
JimmyAREM 0:a89fe490343e 879 //ArrĂȘter les moteurs
JimmyAREM 0:a89fe490343e 880 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 881 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 882 motors_stop();
JimmyAREM 9:00361ecc429d 883 stopPompe();
JimmyAREM 0:a89fe490343e 884 while(1);
JimmyAREM 2:e0402d1e9ed5 885 }
JimmyAREM 2:e0402d1e9ed5 886 /*--------- Fin Strategie classique jaune --------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 887
JimmyAREM 2:e0402d1e9ed5 888
JimmyAREM 2:e0402d1e9ed5 889 /*--------- Debut Strategie RCVA violet ----------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 890
JimmyAREM 2:e0402d1e9ed5 891
JimmyAREM 7:392aa81893eb 892 void strategieRCVAViolet(deplacement robot, Demarreur demarreur)
JimmyAREM 2:e0402d1e9ed5 893 {
JimmyAREM 2:e0402d1e9ed5 894 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 895 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 896 int etapeMatch = 0;
JimmyAREM 7:392aa81893eb 897 while(demarreur.getState() == false) {
JimmyAREM 2:e0402d1e9ed5 898 //on attend
JimmyAREM 2:e0402d1e9ed5 899 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 900 }
JimmyAREM 2:e0402d1e9ed5 901 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 7:392aa81893eb 902 initViolet();
JimmyAREM 3:4810f8316e38 903 robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 904 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 905 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 906 typeEvitement = ARRET;
JimmyAREM 2:e0402d1e9ed5 907 }
JimmyAREM 2:e0402d1e9ed5 908
JimmyAREM 2:e0402d1e9ed5 909
JimmyAREM 2:e0402d1e9ed5 910 /*-------- Fin Strategie RCVA violet -----------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 911
JimmyAREM 2:e0402d1e9ed5 912
JimmyAREM 2:e0402d1e9ed5 913 /*-------- Debut Strategie RCVA jaune -----------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 914
JimmyAREM 7:392aa81893eb 915 void strategieRCVAJaune(deplacement robot, Demarreur demarreur)
JimmyAREM 2:e0402d1e9ed5 916 {
JimmyAREM 2:e0402d1e9ed5 917 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 918 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 919 int etapeMatch = 0;
JimmyAREM 7:392aa81893eb 920 while(demarreur.getState() == false) {
JimmyAREM 2:e0402d1e9ed5 921 //on attend
JimmyAREM 2:e0402d1e9ed5 922 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 923 }
JimmyAREM 2:e0402d1e9ed5 924 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 7:392aa81893eb 925 initJaune();
JimmyAREM 3:4810f8316e38 926 robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 927 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 928 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 929 typeEvitement = ARRET;
JimmyAREM 2:e0402d1e9ed5 930 }
JimmyAREM 2:e0402d1e9ed5 931
JimmyAREM 2:e0402d1e9ed5 932
JimmyAREM 2:e0402d1e9ed5 933 /*-------- Fin Strategie RCVA jaune --------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 934
JimmyAREM 2:e0402d1e9ed5 935 /*-------- Debut Strategie humiliation violet ---------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 936
JimmyAREM 7:392aa81893eb 937 void strategieHumiliationViolet(deplacement robot, Demarreur demarreur)
JimmyAREM 2:e0402d1e9ed5 938 {
JimmyAREM 2:e0402d1e9ed5 939 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 940 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 941 int etapeMatch = 0;
JimmyAREM 7:392aa81893eb 942 while(demarreur.getState() == false) {
JimmyAREM 2:e0402d1e9ed5 943 //on attend
JimmyAREM 2:e0402d1e9ed5 944 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 945 }
JimmyAREM 2:e0402d1e9ed5 946 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 7:392aa81893eb 947 initViolet();
JimmyAREM 3:4810f8316e38 948 robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 949 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 950 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 951 typeEvitement = ARRET;
JimmyAREM 2:e0402d1e9ed5 952 }
JimmyAREM 2:e0402d1e9ed5 953
JimmyAREM 2:e0402d1e9ed5 954
JimmyAREM 2:e0402d1e9ed5 955 /*--------- Fin Strategie humiliation violet ----------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 956
JimmyAREM 2:e0402d1e9ed5 957
JimmyAREM 2:e0402d1e9ed5 958 /*-------- Debut Strategie humiliation jaune ----------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 959
JimmyAREM 7:392aa81893eb 960 void strategieHumiliationJaune(deplacement robot, Demarreur demarreur)
JimmyAREM 2:e0402d1e9ed5 961 {
JimmyAREM 2:e0402d1e9ed5 962 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 963 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 964 int etapeMatch = 0;
JimmyAREM 7:392aa81893eb 965 while(demarreur.getState() == false) {
JimmyAREM 2:e0402d1e9ed5 966 //on attend
JimmyAREM 2:e0402d1e9ed5 967 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 968 }
JimmyAREM 2:e0402d1e9ed5 969 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 7:392aa81893eb 970 initJaune();
JimmyAREM 3:4810f8316e38 971 robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 972 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 973 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 974 typeEvitement = ARRET;
JimmyAREM 2:e0402d1e9ed5 975 }
JimmyAREM 2:e0402d1e9ed5 976
JimmyAREM 2:e0402d1e9ed5 977
JimmyAREM 2:e0402d1e9ed5 978 /*--------- Fin Strategie humiliation jaune -----------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 979
JimmyAREM 2:e0402d1e9ed5 980
JimmyAREM 2:e0402d1e9ed5 981
JimmyAREM 2:e0402d1e9ed5 982