m

Committer:
GuillaumeCH
Date:
Wed May 29 06:34:59 2019 +0000
Revision:
4:3d12e141c30f
Parent:
3:4810f8316e38
lmlmlm

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JimmyAREM 0:a89fe490343e 1 #include "Strategie.h"
JimmyAREM 0:a89fe490343e 2
JimmyAREM 0:a89fe490343e 3 char bufferScore[3]={'0','0','0'};
JimmyAREM 1:785b37686185 4
JimmyAREM 0:a89fe490343e 5 bool typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 1:785b37686185 6 bool typeEvitement = ARRET;
JimmyAREM 0:a89fe490343e 7
JimmyAREM 0:a89fe490343e 8 extern int distanceUltrasonGauche;
JimmyAREM 0:a89fe490343e 9 extern int distanceUltrasonDroit;
JimmyAREM 0:a89fe490343e 10 extern int distanceUltrasonArriere;
JimmyAREM 0:a89fe490343e 11
JimmyAREM 0:a89fe490343e 12 extern int distanceTOF1;
JimmyAREM 0:a89fe490343e 13 extern int distanceTOF2;
JimmyAREM 0:a89fe490343e 14 extern int distanceTOF3;
JimmyAREM 0:a89fe490343e 15 extern int distanceTOF4;
JimmyAREM 0:a89fe490343e 16 extern int distanceTOF5;
JimmyAREM 0:a89fe490343e 17
JimmyAREM 0:a89fe490343e 18
JimmyAREM 0:a89fe490343e 19 extern bool stopCapteurs;
JimmyAREM 0:a89fe490343e 20
JimmyAREM 0:a89fe490343e 21
JimmyAREM 1:785b37686185 22 Timeout tempsArretMvt;
JimmyAREM 1:785b37686185 23
JimmyAREM 1:785b37686185 24
JimmyAREM 1:785b37686185 25
JimmyAREM 0:a89fe490343e 26 void updateAndWriteScore(char n1, char n2, char n3)
JimmyAREM 0:a89fe490343e 27 {
JimmyAREM 0:a89fe490343e 28 bufferScore[0] = n1;
JimmyAREM 0:a89fe490343e 29 bufferScore[1] = n2;
JimmyAREM 0:a89fe490343e 30 bufferScore[2] = n3;
JimmyAREM 0:a89fe490343e 31 write(bufferScore);
JimmyAREM 0:a89fe490343e 32 }
JimmyAREM 0:a89fe490343e 33
JimmyAREM 0:a89fe490343e 34 void LectureI2CCarteCapteur(deplacement robot)
JimmyAREM 0:a89fe490343e 35 {
JimmyAREM 0:a89fe490343e 36 traitementBufferCapteurs();
JimmyAREM 0:a89fe490343e 37 if(AnalyseDistance(distanceUltrasonGauche, distanceUltrasonDroit, distanceUltrasonArriere, typeMovement) == ROBOT)
JimmyAREM 0:a89fe490343e 38 {
JimmyAREM 0:a89fe490343e 39 if( ((distanceUltrasonGauche <= 300) || (distanceUltrasonDroit <= 300)) && (typeMovement == DEPLACEMENT_AVANT) )
JimmyAREM 0:a89fe490343e 40 {
JimmyAREM 0:a89fe490343e 41 stopCapteurs = true;
JimmyAREM 0:a89fe490343e 42 }
JimmyAREM 0:a89fe490343e 43 else if ( (distanceUltrasonArriere <= 300) && (typeMovement == DEPLACEMENT_ARRIERE) )
JimmyAREM 0:a89fe490343e 44 {
JimmyAREM 0:a89fe490343e 45 stopCapteurs = true;
JimmyAREM 0:a89fe490343e 46 }
JimmyAREM 0:a89fe490343e 47 else
JimmyAREM 0:a89fe490343e 48 {
JimmyAREM 0:a89fe490343e 49 stopCapteurs = false;
JimmyAREM 0:a89fe490343e 50 }
JimmyAREM 0:a89fe490343e 51 }
JimmyAREM 0:a89fe490343e 52 else
JimmyAREM 0:a89fe490343e 53 {
JimmyAREM 0:a89fe490343e 54 stopCapteurs = false;
JimmyAREM 0:a89fe490343e 55 }
JimmyAREM 0:a89fe490343e 56 }
JimmyAREM 0:a89fe490343e 57
JimmyAREM 1:785b37686185 58 void arretSystem()
JimmyAREM 1:785b37686185 59 {
JimmyAREM 1:785b37686185 60 Pompe pompe(PIN_POMPE);
JimmyAREM 1:785b37686185 61 Demarreur demarreur(PIN_DEMARREUR);
JimmyAREM 1:785b37686185 62 Bras brasGauche(PIN_SERVO_BRAS_GAUCHE, GAUCHE);
JimmyAREM 1:785b37686185 63 Bras brasDroit(PIN_SERVO_BRAS_DROIT, DROIT);
JimmyAREM 1:785b37686185 64 BrasPousser brasPousserGauche(PIN_SERVO_PALETS_GAUCHE, GAUCHE);
JimmyAREM 1:785b37686185 65 BrasPousser brasPousserDroit(PIN_SERVO_PALETS_DROIT,DROIT);
JimmyAREM 1:785b37686185 66 deplacement robot;
JimmyAREM 1:785b37686185 67
JimmyAREM 1:785b37686185 68 robot.initialisation();
JimmyAREM 1:785b37686185 69 robot.arreterRobot();
JimmyAREM 1:785b37686185 70 pompe.desactiver();
JimmyAREM 1:785b37686185 71 }
JimmyAREM 1:785b37686185 72
JimmyAREM 2:e0402d1e9ed5 73 /*---------Debut Strategie homologation violet ------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 74
JimmyAREM 2:e0402d1e9ed5 75
JimmyAREM 1:785b37686185 76 void strategieHomologationViolet(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 1:785b37686185 77 {
JimmyAREM 1:785b37686185 78 write(bufferScore);
JimmyAREM 1:785b37686185 79 Timer tempsMatch; // timer en seconde
JimmyAREM 1:785b37686185 80 int etapeMatch = 0;
JimmyAREM 1:785b37686185 81 while(demarreur.getState() == false)
JimmyAREM 1:785b37686185 82 {
JimmyAREM 1:785b37686185 83 //on attend
JimmyAREM 1:785b37686185 84 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 1:785b37686185 85 }
JimmyAREM 1:785b37686185 86 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 3:4810f8316e38 87 robot.initialisation();
JimmyAREM 1:785b37686185 88 lancerTimerEcran();
JimmyAREM 1:785b37686185 89 tempsMatch.start();
JimmyAREM 1:785b37686185 90 typeEvitement = ARRET;
JimmyAREM 1:785b37686185 91 while(tempsMatch <= TEMPSMATCH)
JimmyAREM 1:785b37686185 92 {
JimmyAREM 1:785b37686185 93 switch (etapeMatch) {
JimmyAREM 1:785b37686185 94
JimmyAREM 1:785b37686185 95 case 0 : /* On tourne pour aller vers le terrain adverse et on avance jusqu'au milieu du terrain */
JimmyAREM 1:785b37686185 96 {
JimmyAREM 1:785b37686185 97 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 1:785b37686185 98 robot.rotation_rel(90);
JimmyAREM 1:785b37686185 99 robot.ligne_droite_basique(127500);
JimmyAREM 1:785b37686185 100 etapeMatch++;
JimmyAREM 1:785b37686185 101
JimmyAREM 1:785b37686185 102 break;
JimmyAREM 1:785b37686185 103 }
JimmyAREM 1:785b37686185 104 case 1 : /* On se met en position pour pousser les palets */
JimmyAREM 1:785b37686185 105 {
JimmyAREM 1:785b37686185 106 robot.rotation_rel(90);
JimmyAREM 1:785b37686185 107 robot.ligne_droite_basique(60000);
JimmyAREM 1:785b37686185 108 robot.rotation_rel(90);
JimmyAREM 1:785b37686185 109 brasPousserDroit.activerBras();
JimmyAREM 1:785b37686185 110 brasPousserGauche.activerBras();
JimmyAREM 1:785b37686185 111 etapeMatch++;
JimmyAREM 1:785b37686185 112
JimmyAREM 1:785b37686185 113 break;
JimmyAREM 1:785b37686185 114 }
JimmyAREM 1:785b37686185 115 case 2 : /* On pousse la zone de chaos dans les cases */
JimmyAREM 1:785b37686185 116 {
JimmyAREM 1:785b37686185 117 robot.ligne_droite_basique(110000);
JimmyAREM 1:785b37686185 118 updateAndWriteScore('0', '1', '0');
JimmyAREM 1:785b37686185 119 etapeMatch++;
JimmyAREM 1:785b37686185 120
JimmyAREM 1:785b37686185 121 break;
JimmyAREM 1:785b37686185 122 }
JimmyAREM 1:785b37686185 123 case 3 : /* On se met en position pour faire des rectangles */
JimmyAREM 1:785b37686185 124 {
JimmyAREM 1:785b37686185 125 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 1:785b37686185 126 robot.marche_arriere(-10000);
JimmyAREM 1:785b37686185 127 brasPousserDroit.desactiverBras();
JimmyAREM 1:785b37686185 128 brasPousserGauche.desactiverBras();
JimmyAREM 1:785b37686185 129 etapeMatch++;
JimmyAREM 1:785b37686185 130
JimmyAREM 1:785b37686185 131 break;
JimmyAREM 1:785b37686185 132 }
JimmyAREM 1:785b37686185 133 case 4 : /* On fait un rectangle arriere */
JimmyAREM 1:785b37686185 134 {
JimmyAREM 1:785b37686185 135
JimmyAREM 1:785b37686185 136 robot.marche_arriere(-50000);
JimmyAREM 1:785b37686185 137 robot.rotation_rel(-90);
JimmyAREM 1:785b37686185 138 robot.marche_arriere(-50000);
JimmyAREM 1:785b37686185 139 robot.rotation_rel(-90);
JimmyAREM 1:785b37686185 140 robot.marche_arriere(-50000);
JimmyAREM 1:785b37686185 141 robot.rotation_rel(-90);
JimmyAREM 1:785b37686185 142 robot.marche_arriere(-50000);
JimmyAREM 1:785b37686185 143 //robot.rotation_rel(180);
JimmyAREM 1:785b37686185 144 etapeMatch++;
JimmyAREM 1:785b37686185 145
JimmyAREM 1:785b37686185 146 break;
JimmyAREM 1:785b37686185 147 }
JimmyAREM 1:785b37686185 148 case 5 : /* On pousse le palet vert ou le vert et les deux bleus dans la balance en passant par la pente */
JimmyAREM 1:785b37686185 149 {
JimmyAREM 1:785b37686185 150 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 1:785b37686185 151 robot.ligne_droite_basique(50000);
JimmyAREM 1:785b37686185 152 robot.rotation_rel(90);
JimmyAREM 1:785b37686185 153 robot.ligne_droite_basique(50000);
JimmyAREM 1:785b37686185 154 robot.rotation_rel(90);
JimmyAREM 1:785b37686185 155 robot.ligne_droite_basique(50000);
JimmyAREM 1:785b37686185 156 robot.rotation_rel(90);
JimmyAREM 1:785b37686185 157 robot.ligne_droite_basique(50000);
JimmyAREM 1:785b37686185 158 robot.rotation_rel(90);
JimmyAREM 1:785b37686185 159 etapeMatch++;
JimmyAREM 1:785b37686185 160
JimmyAREM 1:785b37686185 161 break;
JimmyAREM 1:785b37686185 162 }
JimmyAREM 1:785b37686185 163
JimmyAREM 1:785b37686185 164 default:
JimmyAREM 1:785b37686185 165 {
JimmyAREM 1:785b37686185 166 robot.vitesse_nulle_D(0);
JimmyAREM 1:785b37686185 167 robot.vitesse_nulle_G(0);
JimmyAREM 1:785b37686185 168 motors_stop();
JimmyAREM 1:785b37686185 169 }
JimmyAREM 1:785b37686185 170 }
JimmyAREM 1:785b37686185 171 }
JimmyAREM 1:785b37686185 172
JimmyAREM 1:785b37686185 173 //Arrêter les moteurs
JimmyAREM 1:785b37686185 174 robot.vitesse_nulle_D(0);
JimmyAREM 1:785b37686185 175 robot.vitesse_nulle_G(0);
JimmyAREM 1:785b37686185 176 motors_stop();
JimmyAREM 1:785b37686185 177 while(1);
JimmyAREM 1:785b37686185 178 }
JimmyAREM 1:785b37686185 179
JimmyAREM 2:e0402d1e9ed5 180 /*-------Fin Stratégie homologation violet------------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 181
JimmyAREM 2:e0402d1e9ed5 182
JimmyAREM 2:e0402d1e9ed5 183 /*-------Debut Strategie homologation jaune-----------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 184
JimmyAREM 2:e0402d1e9ed5 185 void strategieHomologationJaune(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 2:e0402d1e9ed5 186 {
JimmyAREM 2:e0402d1e9ed5 187 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 188 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 189 int etapeMatch = 0;
JimmyAREM 2:e0402d1e9ed5 190 while(demarreur.getState() == false)
JimmyAREM 2:e0402d1e9ed5 191 {
JimmyAREM 2:e0402d1e9ed5 192 //on attend
JimmyAREM 2:e0402d1e9ed5 193 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 194 }
JimmyAREM 2:e0402d1e9ed5 195 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
GuillaumeCH 4:3d12e141c30f 196 //robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 197 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 198 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 199 typeEvitement = ARRET;
JimmyAREM 2:e0402d1e9ed5 200 }
JimmyAREM 2:e0402d1e9ed5 201
JimmyAREM 2:e0402d1e9ed5 202 /*Fin Strategie homologation jaune -------------------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 203
JimmyAREM 2:e0402d1e9ed5 204
JimmyAREM 2:e0402d1e9ed5 205 /*Debut Strategie classique violet -------------------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 206
JimmyAREM 2:e0402d1e9ed5 207
JimmyAREM 0:a89fe490343e 208 void strategieClassiqueViolet(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 0:a89fe490343e 209 {
JimmyAREM 0:a89fe490343e 210 write(bufferScore);
JimmyAREM 0:a89fe490343e 211 Timer tempsMatch; // timer en seconde
JimmyAREM 0:a89fe490343e 212 int etapeMatch = 0;
JimmyAREM 0:a89fe490343e 213 while(demarreur.getState() == false)
JimmyAREM 0:a89fe490343e 214 {
JimmyAREM 0:a89fe490343e 215 //on attend
JimmyAREM 0:a89fe490343e 216 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 0:a89fe490343e 217 }
JimmyAREM 1:785b37686185 218 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
GuillaumeCH 4:3d12e141c30f 219 //robot.initialisation();
JimmyAREM 0:a89fe490343e 220 lancerTimerEcran();
JimmyAREM 0:a89fe490343e 221 tempsMatch.start();
JimmyAREM 0:a89fe490343e 222 while(tempsMatch <= TEMPSMATCH)
JimmyAREM 0:a89fe490343e 223 {
JimmyAREM 0:a89fe490343e 224 switch (etapeMatch) {
JimmyAREM 0:a89fe490343e 225
JimmyAREM 0:a89fe490343e 226 case 0 : /* On active l'expérience */
JimmyAREM 0:a89fe490343e 227 {
JimmyAREM 0:a89fe490343e 228 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 2:e0402d1e9ed5 229 robot.ligne_droite_basique(26500);
JimmyAREM 0:a89fe490343e 230 robot.poussette(300);
JimmyAREM 0:a89fe490343e 231 updateAndWriteScore('0', '4', '0');
JimmyAREM 0:a89fe490343e 232 etapeMatch++;
JimmyAREM 0:a89fe490343e 233
JimmyAREM 0:a89fe490343e 234 break;
JimmyAREM 0:a89fe490343e 235 }
JimmyAREM 0:a89fe490343e 236 case 1 : /* On pousse le palet bleu de la pente de l'accélérateur */
JimmyAREM 0:a89fe490343e 237 {
JimmyAREM 0:a89fe490343e 238 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 239 robot.marche_arriere(-11200);
JimmyAREM 0:a89fe490343e 240 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 2:e0402d1e9ed5 241 /*robot.rotation_rel(90);
JimmyAREM 2:e0402d1e9ed5 242 robot.ligne_droite_basique(130000);*/
GuillaumeCH 4:3d12e141c30f 243 robot.va_au_point(160000,23000,0);
JimmyAREM 0:a89fe490343e 244 brasDroit.activerBras();
JimmyAREM 2:e0402d1e9ed5 245 robot.ligne_droite_basique(14000);
JimmyAREM 0:a89fe490343e 246 brasDroit.desactiverBras();
JimmyAREM 0:a89fe490343e 247 updateAndWriteScore('0', '5', '0');
JimmyAREM 0:a89fe490343e 248 etapeMatch++;
JimmyAREM 0:a89fe490343e 249
JimmyAREM 0:a89fe490343e 250 break;
JimmyAREM 0:a89fe490343e 251 }
JimmyAREM 0:a89fe490343e 252 case 2 : /* On récupère le goldenium */
JimmyAREM 0:a89fe490343e 253 {
JimmyAREM 2:e0402d1e9ed5 254 robot.va_au_point(223000,30000,-90);
JimmyAREM 2:e0402d1e9ed5 255 //robot.ligne_droite_basique(54500);
JimmyAREM 2:e0402d1e9ed5 256 //robot.rotation_rel(-90);
JimmyAREM 0:a89fe490343e 257 pompe.activer();
JimmyAREM 2:e0402d1e9ed5 258 robot.poussette(1500);
JimmyAREM 0:a89fe490343e 259 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 260 robot.marche_arriere(-10000);
JimmyAREM 0:a89fe490343e 261 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 0:a89fe490343e 262 updateAndWriteScore('0', '8', '0');
JimmyAREM 0:a89fe490343e 263 etapeMatch++;
JimmyAREM 0:a89fe490343e 264
JimmyAREM 0:a89fe490343e 265 break;
JimmyAREM 0:a89fe490343e 266 }
JimmyAREM 0:a89fe490343e 267 case 3 : /* On met le goldenium dans la balance */
JimmyAREM 0:a89fe490343e 268 {
JimmyAREM 2:e0402d1e9ed5 269 typeEvitement = ARRET;
GuillaumeCH 4:3d12e141c30f 270 robot.va_au_point(130700,116000,90);
JimmyAREM 2:e0402d1e9ed5 271 robot.ligne_droite_basique(15000);
JimmyAREM 2:e0402d1e9ed5 272 /*robot.rotation_rel(-90);
JimmyAREM 2:e0402d1e9ed5 273 robot.ligne_droite_basique(93000);
JimmyAREM 0:a89fe490343e 274 robot.rotation_rel(-90);
JimmyAREM 2:e0402d1e9ed5 275 robot.ligne_droite_basique(104000);*/
JimmyAREM 2:e0402d1e9ed5 276 robot.poussette(1500);
JimmyAREM 0:a89fe490343e 277 pompe.desactiver();
JimmyAREM 0:a89fe490343e 278 wait(2);
JimmyAREM 0:a89fe490343e 279 updateAndWriteScore('1', '0', '4');
JimmyAREM 0:a89fe490343e 280 etapeMatch++;
JimmyAREM 0:a89fe490343e 281
JimmyAREM 0:a89fe490343e 282 break;
JimmyAREM 0:a89fe490343e 283 }
JimmyAREM 0:a89fe490343e 284 case 4 : /* On pousse la zone de chaos dans la zone du redium */
JimmyAREM 0:a89fe490343e 285 {
JimmyAREM 0:a89fe490343e 286 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 287 robot.marche_arriere(-8000);
JimmyAREM 0:a89fe490343e 288 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 4:3d12e141c30f 289 robot.rotation_abs(-134);
JimmyAREM 0:a89fe490343e 290 brasPousserGauche.activerBras();
JimmyAREM 0:a89fe490343e 291 brasPousserDroit.activerBras();
GuillaumeCH 4:3d12e141c30f 292 robot.ligne_droite_basique(116000);
JimmyAREM 0:a89fe490343e 293 updateAndWriteScore('1', '2', '4');
JimmyAREM 0:a89fe490343e 294 etapeMatch++;
JimmyAREM 0:a89fe490343e 295
JimmyAREM 0:a89fe490343e 296 break;
JimmyAREM 0:a89fe490343e 297 }
JimmyAREM 0:a89fe490343e 298 case 5 : /* On pousse le palet vert ou le vert et les deux bleus dans la balance en passant par la pente */
JimmyAREM 0:a89fe490343e 299 {
JimmyAREM 0:a89fe490343e 300 brasPousserGauche.desactiverBras();
JimmyAREM 0:a89fe490343e 301 brasPousserDroit.desactiverBras();
JimmyAREM 0:a89fe490343e 302 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 303 robot.marche_arriere(-8000);
JimmyAREM 0:a89fe490343e 304 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 4:3d12e141c30f 305 robot.va_au_point(15000,178000,0);
JimmyAREM 2:e0402d1e9ed5 306 robot.ligne_droite_basique(5000);
JimmyAREM 0:a89fe490343e 307 brasPousserGauche.activerBras();
JimmyAREM 0:a89fe490343e 308 brasPousserDroit.activerBras();
JimmyAREM 0:a89fe490343e 309 etapeMatch++;
JimmyAREM 0:a89fe490343e 310
JimmyAREM 0:a89fe490343e 311 break;
JimmyAREM 0:a89fe490343e 312 }
JimmyAREM 0:a89fe490343e 313 case 6 : /* On redescant de la pente */
JimmyAREM 0:a89fe490343e 314 {
GuillaumeCH 4:3d12e141c30f 315 robot.pente_combo(0, brasPousserGauche,brasPousserDroit,pompe);
GuillaumeCH 4:3d12e141c30f 316 updateAndWriteScore('1', '3', '4');
JimmyAREM 0:a89fe490343e 317 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 318 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 319 etapeMatch++;
JimmyAREM 0:a89fe490343e 320
JimmyAREM 0:a89fe490343e 321 break;
JimmyAREM 0:a89fe490343e 322 }
JimmyAREM 0:a89fe490343e 323 default:
JimmyAREM 0:a89fe490343e 324 {
JimmyAREM 0:a89fe490343e 325 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 326 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 327 motors_stop();
JimmyAREM 0:a89fe490343e 328 pompe.desactiver();
JimmyAREM 0:a89fe490343e 329 }
JimmyAREM 0:a89fe490343e 330 }
JimmyAREM 0:a89fe490343e 331 }
JimmyAREM 0:a89fe490343e 332
JimmyAREM 0:a89fe490343e 333 //Arrêter les moteurs
JimmyAREM 0:a89fe490343e 334 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 335 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 336 motors_stop();
JimmyAREM 0:a89fe490343e 337 pompe.desactiver();
JimmyAREM 0:a89fe490343e 338 while(1);
JimmyAREM 0:a89fe490343e 339 }
JimmyAREM 0:a89fe490343e 340
JimmyAREM 0:a89fe490343e 341
JimmyAREM 2:e0402d1e9ed5 342 /*-------- Fin Strategie classique violet -----------------------------------------------*/
JimmyAREM 0:a89fe490343e 343
JimmyAREM 0:a89fe490343e 344
JimmyAREM 2:e0402d1e9ed5 345 /*------- Debut Strategie classique Jaune -----------------------------------------------*/
JimmyAREM 0:a89fe490343e 346
JimmyAREM 0:a89fe490343e 347
JimmyAREM 0:a89fe490343e 348 void strategieClassiqueJaune(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 0:a89fe490343e 349 {
JimmyAREM 0:a89fe490343e 350 write(bufferScore);
JimmyAREM 0:a89fe490343e 351 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 352 int etapeMatch = 0;
JimmyAREM 0:a89fe490343e 353 while(demarreur.getState() == false)
JimmyAREM 0:a89fe490343e 354 {
JimmyAREM 0:a89fe490343e 355 //on attend
JimmyAREM 0:a89fe490343e 356 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 0:a89fe490343e 357 }
JimmyAREM 1:785b37686185 358 tempsArretMvt.attach(&arretSystem, 100.0);
GuillaumeCH 4:3d12e141c30f 359 //robot.initialisation();
JimmyAREM 0:a89fe490343e 360 lancerTimerEcran();
JimmyAREM 0:a89fe490343e 361 tempsMatch.start();
GuillaumeCH 4:3d12e141c30f 362 typeEvitement = ARRET;
GuillaumeCH 4:3d12e141c30f 363
JimmyAREM 0:a89fe490343e 364 while(tempsMatch <= TEMPSMATCH)
JimmyAREM 0:a89fe490343e 365 {
JimmyAREM 0:a89fe490343e 366 switch (etapeMatch) {
JimmyAREM 0:a89fe490343e 367
JimmyAREM 0:a89fe490343e 368 case 0 : /* On active l'expérience */
JimmyAREM 0:a89fe490343e 369 {
GuillaumeCH 4:3d12e141c30f 370 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 4:3d12e141c30f 371 robot.ligne_droite_basique(26500);
JimmyAREM 0:a89fe490343e 372 robot.poussette(300);
JimmyAREM 0:a89fe490343e 373 updateAndWriteScore('0', '4', '0');
JimmyAREM 0:a89fe490343e 374 etapeMatch++;
JimmyAREM 0:a89fe490343e 375
JimmyAREM 0:a89fe490343e 376 break;
JimmyAREM 0:a89fe490343e 377 }
JimmyAREM 0:a89fe490343e 378 case 1 : /* On pousse le palet bleu de la pente de l'accélérateur */
JimmyAREM 0:a89fe490343e 379 {
GuillaumeCH 4:3d12e141c30f 380 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 381 robot.marche_arriere(-11200);
GuillaumeCH 4:3d12e141c30f 382 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 4:3d12e141c30f 383 /*robot.rotation_rel(90);
GuillaumeCH 4:3d12e141c30f 384 robot.ligne_droite_basique(130000);*/
GuillaumeCH 4:3d12e141c30f 385 robot.va_au_point(300000-160000,23000,180);
GuillaumeCH 4:3d12e141c30f 386 brasGauche.activerBras();
GuillaumeCH 4:3d12e141c30f 387 robot.ligne_droite_basique(14000);
GuillaumeCH 4:3d12e141c30f 388 brasGauche .desactiverBras();
JimmyAREM 0:a89fe490343e 389 updateAndWriteScore('0', '5', '0');
JimmyAREM 0:a89fe490343e 390 etapeMatch++;
JimmyAREM 0:a89fe490343e 391
JimmyAREM 0:a89fe490343e 392 break;
JimmyAREM 0:a89fe490343e 393 }
JimmyAREM 0:a89fe490343e 394 case 2 : /* On récupère le goldenium */
JimmyAREM 0:a89fe490343e 395 {
GuillaumeCH 4:3d12e141c30f 396 robot.va_au_point(300000-223000,30000,-90);
GuillaumeCH 4:3d12e141c30f 397 //robot.ligne_droite_basique(54500);
GuillaumeCH 4:3d12e141c30f 398 //robot.rotation_rel(-90);
JimmyAREM 0:a89fe490343e 399 pompe.activer();
GuillaumeCH 4:3d12e141c30f 400 robot.poussette(1500);
GuillaumeCH 4:3d12e141c30f 401 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 402 robot.marche_arriere(-10000);
GuillaumeCH 4:3d12e141c30f 403 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 0:a89fe490343e 404 updateAndWriteScore('0', '8', '0');
JimmyAREM 0:a89fe490343e 405 etapeMatch++;
JimmyAREM 0:a89fe490343e 406
JimmyAREM 0:a89fe490343e 407 break;
JimmyAREM 0:a89fe490343e 408 }
JimmyAREM 0:a89fe490343e 409 case 3 : /* On met le goldenium dans la balance */
JimmyAREM 0:a89fe490343e 410 {
GuillaumeCH 4:3d12e141c30f 411 typeEvitement = ARRET;
GuillaumeCH 4:3d12e141c30f 412 robot.va_au_point(300000-130700,116000,90);
GuillaumeCH 4:3d12e141c30f 413 robot.ligne_droite_basique(15000);
GuillaumeCH 4:3d12e141c30f 414 /*robot.rotation_rel(-90);
GuillaumeCH 4:3d12e141c30f 415 robot.ligne_droite_basique(93000);
GuillaumeCH 4:3d12e141c30f 416 robot.rotation_rel(-90);
GuillaumeCH 4:3d12e141c30f 417 robot.ligne_droite_basique(104000);*/
GuillaumeCH 4:3d12e141c30f 418 robot.poussette(1500);
JimmyAREM 0:a89fe490343e 419 pompe.desactiver();
JimmyAREM 0:a89fe490343e 420 wait(2);
JimmyAREM 0:a89fe490343e 421 updateAndWriteScore('1', '0', '4');
JimmyAREM 0:a89fe490343e 422 etapeMatch++;
JimmyAREM 0:a89fe490343e 423
JimmyAREM 0:a89fe490343e 424 break;
JimmyAREM 0:a89fe490343e 425 }
JimmyAREM 0:a89fe490343e 426 case 4 : /* On pousse la zone de chaos dans la zone du redium */
JimmyAREM 0:a89fe490343e 427 {
GuillaumeCH 4:3d12e141c30f 428 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 429 robot.marche_arriere(-8000);
GuillaumeCH 4:3d12e141c30f 430 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 4:3d12e141c30f 431 robot.rotation_abs(-44);
JimmyAREM 0:a89fe490343e 432 brasPousserGauche.activerBras();
JimmyAREM 0:a89fe490343e 433 brasPousserDroit.activerBras();
GuillaumeCH 4:3d12e141c30f 434 robot.ligne_droite_basique(116000);
JimmyAREM 0:a89fe490343e 435 updateAndWriteScore('1', '2', '4');
JimmyAREM 0:a89fe490343e 436 etapeMatch++;
JimmyAREM 0:a89fe490343e 437
JimmyAREM 0:a89fe490343e 438 break;
JimmyAREM 0:a89fe490343e 439 }
JimmyAREM 0:a89fe490343e 440 case 5 : /* On pousse le palet vert ou le vert et les deux bleus dans la balance en passant par la pente */
JimmyAREM 0:a89fe490343e 441 {
JimmyAREM 0:a89fe490343e 442 brasPousserGauche.desactiverBras();
JimmyAREM 0:a89fe490343e 443 brasPousserDroit.desactiverBras();
GuillaumeCH 4:3d12e141c30f 444 typeMovement = DEPLACEMENT_ARRIERE;
GuillaumeCH 4:3d12e141c30f 445 robot.marche_arriere(-8000);
GuillaumeCH 4:3d12e141c30f 446 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 4:3d12e141c30f 447 robot.va_au_point(300000-18000,178000,180);
GuillaumeCH 4:3d12e141c30f 448 robot.ligne_droite_basique(5000);
JimmyAREM 0:a89fe490343e 449 brasPousserGauche.activerBras();
JimmyAREM 0:a89fe490343e 450 brasPousserDroit.activerBras();
JimmyAREM 0:a89fe490343e 451 etapeMatch++;
JimmyAREM 0:a89fe490343e 452
JimmyAREM 0:a89fe490343e 453 break;
JimmyAREM 0:a89fe490343e 454 }
JimmyAREM 0:a89fe490343e 455 case 6 : /* On redescant de la pente */
JimmyAREM 0:a89fe490343e 456 {
GuillaumeCH 4:3d12e141c30f 457 robot.pente_combo(180, brasPousserGauche,brasPousserDroit,pompe);
GuillaumeCH 4:3d12e141c30f 458 updateAndWriteScore('1', '3', '4');
JimmyAREM 0:a89fe490343e 459 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 460 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 461 etapeMatch++;
JimmyAREM 0:a89fe490343e 462
JimmyAREM 0:a89fe490343e 463 break;
JimmyAREM 0:a89fe490343e 464 }
JimmyAREM 0:a89fe490343e 465 default:
JimmyAREM 0:a89fe490343e 466 {
JimmyAREM 0:a89fe490343e 467 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 468 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 469 motors_stop();
GuillaumeCH 4:3d12e141c30f 470 pompe.desactiver();
JimmyAREM 0:a89fe490343e 471 }
JimmyAREM 0:a89fe490343e 472 }
JimmyAREM 0:a89fe490343e 473 }
JimmyAREM 0:a89fe490343e 474
JimmyAREM 0:a89fe490343e 475 //Arrêter les moteurs
JimmyAREM 0:a89fe490343e 476 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 477 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 478 motors_stop();
GuillaumeCH 4:3d12e141c30f 479 pompe.desactiver();
JimmyAREM 0:a89fe490343e 480 while(1);
GuillaumeCH 4:3d12e141c30f 481
JimmyAREM 2:e0402d1e9ed5 482 }
JimmyAREM 2:e0402d1e9ed5 483
JimmyAREM 2:e0402d1e9ed5 484 /*--------- Fin Strategie classique jaune --------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 485
JimmyAREM 2:e0402d1e9ed5 486
JimmyAREM 2:e0402d1e9ed5 487 /*--------- Debut Strategie RCVA violet ----------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 488
JimmyAREM 2:e0402d1e9ed5 489
JimmyAREM 2:e0402d1e9ed5 490 void strategieRCVAViolet(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 2:e0402d1e9ed5 491 {
JimmyAREM 2:e0402d1e9ed5 492 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 493 Timer tempsMatch; // timer en seconde
GuillaumeCH 4:3d12e141c30f 494 int etapeMatch = 3;
JimmyAREM 2:e0402d1e9ed5 495 while(demarreur.getState() == false)
JimmyAREM 2:e0402d1e9ed5 496 {
JimmyAREM 2:e0402d1e9ed5 497 //on attend
JimmyAREM 2:e0402d1e9ed5 498 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 499 }
JimmyAREM 2:e0402d1e9ed5 500 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
GuillaumeCH 4:3d12e141c30f 501 //robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 502 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 503 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 504 typeEvitement = ARRET;
GuillaumeCH 4:3d12e141c30f 505 while(tempsMatch <= TEMPSMATCH)
GuillaumeCH 4:3d12e141c30f 506 {
GuillaumeCH 4:3d12e141c30f 507 switch (etapeMatch) {
GuillaumeCH 4:3d12e141c30f 508
GuillaumeCH 4:3d12e141c30f 509 case 0 : /* On active l'expérience */
GuillaumeCH 4:3d12e141c30f 510 {
GuillaumeCH 4:3d12e141c30f 511 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 4:3d12e141c30f 512 robot.ligne_droite_basique(26500);
GuillaumeCH 4:3d12e141c30f 513 robot.poussette(300);
GuillaumeCH 4:3d12e141c30f 514 updateAndWriteScore('0', '4', '0');
GuillaumeCH 4:3d12e141c30f 515 etapeMatch++;
GuillaumeCH 4:3d12e141c30f 516
GuillaumeCH 4:3d12e141c30f 517 break;
GuillaumeCH 4:3d12e141c30f 518 }
GuillaumeCH 4:3d12e141c30f 519 case 1 : /* On pousse le palet bleu de la pente de l'accélérateur */
GuillaumeCH 4:3d12e141c30f 520 {
GuillaumeCH 4:3d12e141c30f 521 typeMovement = DEPLACEMENT_ARRIERE;
GuillaumeCH 4:3d12e141c30f 522 robot.marche_arriere(-11200);
GuillaumeCH 4:3d12e141c30f 523 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 4:3d12e141c30f 524 /*robot.rotation_rel(90);
GuillaumeCH 4:3d12e141c30f 525 robot.ligne_droite_basique(130000);*/
GuillaumeCH 4:3d12e141c30f 526 robot.va_au_point(160000,23000,0);
GuillaumeCH 4:3d12e141c30f 527 brasDroit.activerBras();
GuillaumeCH 4:3d12e141c30f 528 robot.ligne_droite_basique(14000);
GuillaumeCH 4:3d12e141c30f 529 brasDroit.desactiverBras();
GuillaumeCH 4:3d12e141c30f 530 updateAndWriteScore('0', '5', '0');
GuillaumeCH 4:3d12e141c30f 531 etapeMatch++;
GuillaumeCH 4:3d12e141c30f 532
GuillaumeCH 4:3d12e141c30f 533 break;
GuillaumeCH 4:3d12e141c30f 534 }
GuillaumeCH 4:3d12e141c30f 535 case 2 : /* On récupère le goldenium */
GuillaumeCH 4:3d12e141c30f 536 {
GuillaumeCH 4:3d12e141c30f 537 robot.va_au_point(223000,30000,-90);
GuillaumeCH 4:3d12e141c30f 538 //robot.ligne_droite_basique(54500);
GuillaumeCH 4:3d12e141c30f 539 //robot.rotation_rel(-90);
GuillaumeCH 4:3d12e141c30f 540 pompe.activer();
GuillaumeCH 4:3d12e141c30f 541 robot.poussette(1500);
GuillaumeCH 4:3d12e141c30f 542 typeMovement = DEPLACEMENT_ARRIERE;
GuillaumeCH 4:3d12e141c30f 543 robot.marche_arriere(-10000);
GuillaumeCH 4:3d12e141c30f 544 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 4:3d12e141c30f 545 updateAndWriteScore('0', '8', '0');
GuillaumeCH 4:3d12e141c30f 546 etapeMatch++;
GuillaumeCH 4:3d12e141c30f 547
GuillaumeCH 4:3d12e141c30f 548 break;
GuillaumeCH 4:3d12e141c30f 549 }
GuillaumeCH 4:3d12e141c30f 550 case 3 : /* On met le goldenium dans la balance */
GuillaumeCH 4:3d12e141c30f 551 {
GuillaumeCH 4:3d12e141c30f 552 typeEvitement = ARRET;
GuillaumeCH 4:3d12e141c30f 553 robot.va_au_point(225000,105000,180);
GuillaumeCH 4:3d12e141c30f 554 brasPousserGauche.activerBras();
GuillaumeCH 4:3d12e141c30f 555 brasPousserDroit.activerBras();
GuillaumeCH 4:3d12e141c30f 556 robot.va_au_point(45000,105000,180);
GuillaumeCH 4:3d12e141c30f 557 brasPousserGauche.desactiverBras();
GuillaumeCH 4:3d12e141c30f 558 brasPousserDroit.desactiverBras();
GuillaumeCH 4:3d12e141c30f 559 robot.marche_arriere(7000);
GuillaumeCH 4:3d12e141c30f 560
GuillaumeCH 4:3d12e141c30f 561 updateAndWriteScore('1', '0', '4');
GuillaumeCH 4:3d12e141c30f 562 etapeMatch++;
GuillaumeCH 4:3d12e141c30f 563
GuillaumeCH 4:3d12e141c30f 564 break;
GuillaumeCH 4:3d12e141c30f 565 }
GuillaumeCH 4:3d12e141c30f 566 case 4 : /* On pousse la zone de chaos dans la zone du redium */
GuillaumeCH 4:3d12e141c30f 567 {
GuillaumeCH 4:3d12e141c30f 568 robot.va_au_point(15000,178000,0);
GuillaumeCH 4:3d12e141c30f 569 /*typeMovement = DEPLACEMENT_ARRIERE;
GuillaumeCH 4:3d12e141c30f 570 robot.marche_arriere(-8000);
GuillaumeCH 4:3d12e141c30f 571 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 4:3d12e141c30f 572 robot.rotation_abs(-134);
GuillaumeCH 4:3d12e141c30f 573 brasPousserGauche.activerBras();
GuillaumeCH 4:3d12e141c30f 574 brasPousserDroit.activerBras();
GuillaumeCH 4:3d12e141c30f 575 robot.ligne_droite_basique(116000);*/
GuillaumeCH 4:3d12e141c30f 576 updateAndWriteScore('1', '2', '4');
GuillaumeCH 4:3d12e141c30f 577 etapeMatch++;
GuillaumeCH 4:3d12e141c30f 578
GuillaumeCH 4:3d12e141c30f 579 break;
GuillaumeCH 4:3d12e141c30f 580 }
GuillaumeCH 4:3d12e141c30f 581 case 5 : /* On pousse le palet vert ou le vert et les deux bleus dans la balance en passant par la pente */
GuillaumeCH 4:3d12e141c30f 582 {
GuillaumeCH 4:3d12e141c30f 583 /*brasPousserGauche.desactiverBras();
GuillaumeCH 4:3d12e141c30f 584 brasPousserDroit.desactiverBras();
GuillaumeCH 4:3d12e141c30f 585 typeMovement = DEPLACEMENT_ARRIERE;
GuillaumeCH 4:3d12e141c30f 586 robot.marche_arriere(-8000);
GuillaumeCH 4:3d12e141c30f 587 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 4:3d12e141c30f 588 robot.va_au_point(15000,178000,0);
GuillaumeCH 4:3d12e141c30f 589 robot.ligne_droite_basique(5000);
GuillaumeCH 4:3d12e141c30f 590 brasPousserGauche.activerBras();
GuillaumeCH 4:3d12e141c30f 591 brasPousserDroit.activerBras();
GuillaumeCH 4:3d12e141c30f 592 etapeMatch++;*/
GuillaumeCH 4:3d12e141c30f 593
GuillaumeCH 4:3d12e141c30f 594 break;
GuillaumeCH 4:3d12e141c30f 595 }
GuillaumeCH 4:3d12e141c30f 596 case 6 : /* On redescant de la pente */
GuillaumeCH 4:3d12e141c30f 597 {
GuillaumeCH 4:3d12e141c30f 598 robot.pente_combo(0, brasPousserGauche,brasPousserDroit,pompe);
GuillaumeCH 4:3d12e141c30f 599 updateAndWriteScore('1', '3', '4');
GuillaumeCH 4:3d12e141c30f 600 robot.vitesse_nulle_D(0);
GuillaumeCH 4:3d12e141c30f 601 robot.vitesse_nulle_G(0);
GuillaumeCH 4:3d12e141c30f 602 etapeMatch++;
GuillaumeCH 4:3d12e141c30f 603
GuillaumeCH 4:3d12e141c30f 604 break;
GuillaumeCH 4:3d12e141c30f 605 }
GuillaumeCH 4:3d12e141c30f 606 default:
GuillaumeCH 4:3d12e141c30f 607 {
GuillaumeCH 4:3d12e141c30f 608 robot.vitesse_nulle_D(0);
GuillaumeCH 4:3d12e141c30f 609 robot.vitesse_nulle_G(0);
GuillaumeCH 4:3d12e141c30f 610 motors_stop();
GuillaumeCH 4:3d12e141c30f 611 pompe.desactiver();
GuillaumeCH 4:3d12e141c30f 612 }
GuillaumeCH 4:3d12e141c30f 613 }
GuillaumeCH 4:3d12e141c30f 614 }
GuillaumeCH 4:3d12e141c30f 615
GuillaumeCH 4:3d12e141c30f 616 //Arrêter les moteurs
GuillaumeCH 4:3d12e141c30f 617 robot.vitesse_nulle_D(0);
GuillaumeCH 4:3d12e141c30f 618 robot.vitesse_nulle_G(0);
GuillaumeCH 4:3d12e141c30f 619 motors_stop();
GuillaumeCH 4:3d12e141c30f 620 pompe.desactiver();
GuillaumeCH 4:3d12e141c30f 621 while(1);
JimmyAREM 2:e0402d1e9ed5 622 }
JimmyAREM 2:e0402d1e9ed5 623
JimmyAREM 2:e0402d1e9ed5 624
JimmyAREM 2:e0402d1e9ed5 625 /*-------- Fin Strategie RCVA violet -----------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 626
JimmyAREM 2:e0402d1e9ed5 627
JimmyAREM 2:e0402d1e9ed5 628 /*-------- Debut Strategie RCVA jaune -----------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 629
JimmyAREM 2:e0402d1e9ed5 630 void strategieRCVAJaune(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 2:e0402d1e9ed5 631 {
JimmyAREM 2:e0402d1e9ed5 632 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 633 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 634 int etapeMatch = 0;
JimmyAREM 2:e0402d1e9ed5 635 while(demarreur.getState() == false)
JimmyAREM 2:e0402d1e9ed5 636 {
JimmyAREM 2:e0402d1e9ed5 637 //on attend
JimmyAREM 2:e0402d1e9ed5 638 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 639 }
JimmyAREM 2:e0402d1e9ed5 640 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 3:4810f8316e38 641 robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 642 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 643 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 644 typeEvitement = ARRET;
JimmyAREM 2:e0402d1e9ed5 645 }
JimmyAREM 2:e0402d1e9ed5 646
JimmyAREM 2:e0402d1e9ed5 647
JimmyAREM 2:e0402d1e9ed5 648 /*-------- Fin Strategie RCVA jaune --------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 649
JimmyAREM 2:e0402d1e9ed5 650 /*-------- Debut Strategie humiliation violet ---------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 651
JimmyAREM 2:e0402d1e9ed5 652 void strategieHumiliationViolet(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 2:e0402d1e9ed5 653 {
JimmyAREM 2:e0402d1e9ed5 654 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 655 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 656 int etapeMatch = 0;
JimmyAREM 2:e0402d1e9ed5 657 while(demarreur.getState() == false)
JimmyAREM 2:e0402d1e9ed5 658 {
JimmyAREM 2:e0402d1e9ed5 659 //on attend
JimmyAREM 2:e0402d1e9ed5 660 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 661 }
JimmyAREM 2:e0402d1e9ed5 662 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 3:4810f8316e38 663 robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 664 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 665 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 666 typeEvitement = ARRET;
JimmyAREM 2:e0402d1e9ed5 667 }
JimmyAREM 2:e0402d1e9ed5 668
JimmyAREM 2:e0402d1e9ed5 669
JimmyAREM 2:e0402d1e9ed5 670 /*--------- Fin Strategie humiliation violet ----------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 671
JimmyAREM 2:e0402d1e9ed5 672
JimmyAREM 2:e0402d1e9ed5 673 /*-------- Debut Strategie humiliation jaune ----------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 674
JimmyAREM 2:e0402d1e9ed5 675 void strategieHumiliationJaune(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 2:e0402d1e9ed5 676 {
JimmyAREM 2:e0402d1e9ed5 677 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 678 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 679 int etapeMatch = 0;
JimmyAREM 2:e0402d1e9ed5 680 while(demarreur.getState() == false)
JimmyAREM 2:e0402d1e9ed5 681 {
JimmyAREM 2:e0402d1e9ed5 682 //on attend
JimmyAREM 2:e0402d1e9ed5 683 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 684 }
JimmyAREM 2:e0402d1e9ed5 685 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 3:4810f8316e38 686 robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 687 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 688 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 689 typeEvitement = ARRET;
JimmyAREM 2:e0402d1e9ed5 690 }
JimmyAREM 2:e0402d1e9ed5 691
JimmyAREM 2:e0402d1e9ed5 692
JimmyAREM 2:e0402d1e9ed5 693 /*--------- Fin Strategie humiliation jaune -----------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 694
JimmyAREM 2:e0402d1e9ed5 695
JimmyAREM 2:e0402d1e9ed5 696
JimmyAREM 2:e0402d1e9ed5 697