sequences des strats

Committer:
GuillaumeCH
Date:
Wed May 29 21:06:45 2019 +0000
Revision:
6:db41c3f7245e
Parent:
5:aa69d0e17c4e
Child:
7:392aa81893eb
23:07;

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 4:7a9a9720e4d0 6 int 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;
GuillaumeCH 6:db41c3f7245e 98 robot.ligne_droite_basique(3000);
JimmyAREM 1:785b37686185 99 robot.rotation_rel(90);
GuillaumeCH 6:db41c3f7245e 100 //robot.ligne_droite_basique(127500);
JimmyAREM 1:785b37686185 101 etapeMatch++;
JimmyAREM 1:785b37686185 102
JimmyAREM 1:785b37686185 103 break;
JimmyAREM 1:785b37686185 104 }
JimmyAREM 1:785b37686185 105 case 1 : /* On se met en position pour pousser les palets */
JimmyAREM 1:785b37686185 106 {
GuillaumeCH 6:db41c3f7245e 107 robot.va_au_point(158000,22500,0);
GuillaumeCH 6:db41c3f7245e 108 brasDroit.activerBras();
GuillaumeCH 6:db41c3f7245e 109 robot.ligne_droite_basique(11000);
GuillaumeCH 6:db41c3f7245e 110 brasDroit.desactiverBras();
GuillaumeCH 6:db41c3f7245e 111 /*robot.rotation_rel(90);
JimmyAREM 1:785b37686185 112 robot.ligne_droite_basique(60000);
JimmyAREM 1:785b37686185 113 robot.rotation_rel(90);
JimmyAREM 1:785b37686185 114 brasPousserDroit.activerBras();
GuillaumeCH 6:db41c3f7245e 115 brasPousserGauche.activerBras();*/
JimmyAREM 1:785b37686185 116 etapeMatch++;
JimmyAREM 1:785b37686185 117
JimmyAREM 1:785b37686185 118 break;
JimmyAREM 1:785b37686185 119 }
JimmyAREM 1:785b37686185 120 case 2 : /* On pousse la zone de chaos dans les cases */
JimmyAREM 1:785b37686185 121 {
GuillaumeCH 6:db41c3f7245e 122 robot.va_au_point(220000,60000,90);
GuillaumeCH 6:db41c3f7245e 123 robot.ligne_droite_basique(60000);
GuillaumeCH 6:db41c3f7245e 124 robot.rotation_rel(90);
GuillaumeCH 6:db41c3f7245e 125 robot.ligne_droite_basique(50000);
GuillaumeCH 6:db41c3f7245e 126 robot.rotation_rel(90);
GuillaumeCH 6:db41c3f7245e 127 robot.ligne_droite_basique(50000);
GuillaumeCH 6:db41c3f7245e 128 robot.rotation_rel(90);
GuillaumeCH 6:db41c3f7245e 129 robot.ligne_droite_basique(50000);
GuillaumeCH 6:db41c3f7245e 130
GuillaumeCH 6:db41c3f7245e 131 //robot.ligne_droite_basique(110000);
JimmyAREM 1:785b37686185 132 updateAndWriteScore('0', '1', '0');
JimmyAREM 1:785b37686185 133 etapeMatch++;
JimmyAREM 1:785b37686185 134
JimmyAREM 1:785b37686185 135 break;
JimmyAREM 1:785b37686185 136 }
JimmyAREM 1:785b37686185 137 case 3 : /* On se met en position pour faire des rectangles */
JimmyAREM 1:785b37686185 138 {
JimmyAREM 1:785b37686185 139 typeMovement = DEPLACEMENT_ARRIERE;
GuillaumeCH 6:db41c3f7245e 140 /*robot.marche_arriere(-10000);
JimmyAREM 1:785b37686185 141 brasPousserDroit.desactiverBras();
GuillaumeCH 6:db41c3f7245e 142 brasPousserGauche.desactiverBras();*/
JimmyAREM 1:785b37686185 143 etapeMatch++;
JimmyAREM 1:785b37686185 144
JimmyAREM 1:785b37686185 145 break;
JimmyAREM 1:785b37686185 146 }
JimmyAREM 1:785b37686185 147 case 4 : /* On fait un rectangle arriere */
JimmyAREM 1:785b37686185 148 {
JimmyAREM 1:785b37686185 149
JimmyAREM 1:785b37686185 150 robot.marche_arriere(-50000);
JimmyAREM 1:785b37686185 151 robot.rotation_rel(-90);
JimmyAREM 1:785b37686185 152 robot.marche_arriere(-50000);
JimmyAREM 1:785b37686185 153 robot.rotation_rel(-90);
JimmyAREM 1:785b37686185 154 robot.marche_arriere(-50000);
JimmyAREM 1:785b37686185 155 robot.rotation_rel(-90);
JimmyAREM 1:785b37686185 156 robot.marche_arriere(-50000);
JimmyAREM 1:785b37686185 157 //robot.rotation_rel(180);
JimmyAREM 1:785b37686185 158 etapeMatch++;
JimmyAREM 1:785b37686185 159
JimmyAREM 1:785b37686185 160 break;
JimmyAREM 1:785b37686185 161 }
JimmyAREM 1:785b37686185 162 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 163 {
JimmyAREM 1:785b37686185 164 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 1:785b37686185 165 robot.ligne_droite_basique(50000);
JimmyAREM 1:785b37686185 166 robot.rotation_rel(90);
JimmyAREM 1:785b37686185 167 robot.ligne_droite_basique(50000);
JimmyAREM 1:785b37686185 168 robot.rotation_rel(90);
JimmyAREM 1:785b37686185 169 robot.ligne_droite_basique(50000);
JimmyAREM 1:785b37686185 170 robot.rotation_rel(90);
JimmyAREM 1:785b37686185 171 robot.ligne_droite_basique(50000);
JimmyAREM 1:785b37686185 172 robot.rotation_rel(90);
JimmyAREM 1:785b37686185 173 etapeMatch++;
JimmyAREM 1:785b37686185 174
JimmyAREM 1:785b37686185 175 break;
JimmyAREM 1:785b37686185 176 }
JimmyAREM 1:785b37686185 177
JimmyAREM 1:785b37686185 178 default:
JimmyAREM 1:785b37686185 179 {
JimmyAREM 1:785b37686185 180 robot.vitesse_nulle_D(0);
JimmyAREM 1:785b37686185 181 robot.vitesse_nulle_G(0);
JimmyAREM 1:785b37686185 182 motors_stop();
JimmyAREM 1:785b37686185 183 }
JimmyAREM 1:785b37686185 184 }
JimmyAREM 1:785b37686185 185 }
JimmyAREM 1:785b37686185 186
JimmyAREM 1:785b37686185 187 //Arrêter les moteurs
JimmyAREM 1:785b37686185 188 robot.vitesse_nulle_D(0);
JimmyAREM 1:785b37686185 189 robot.vitesse_nulle_G(0);
JimmyAREM 1:785b37686185 190 motors_stop();
JimmyAREM 1:785b37686185 191 while(1);
JimmyAREM 1:785b37686185 192 }
JimmyAREM 1:785b37686185 193
JimmyAREM 2:e0402d1e9ed5 194 /*-------Fin Stratégie homologation violet------------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 195
JimmyAREM 2:e0402d1e9ed5 196
JimmyAREM 2:e0402d1e9ed5 197 /*-------Debut Strategie homologation jaune-----------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 198
JimmyAREM 4:7a9a9720e4d0 199
JimmyAREM 2:e0402d1e9ed5 200 void strategieHomologationJaune(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 2:e0402d1e9ed5 201 {
JimmyAREM 2:e0402d1e9ed5 202 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 203 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 204 int etapeMatch = 0;
JimmyAREM 2:e0402d1e9ed5 205 while(demarreur.getState() == false)
JimmyAREM 2:e0402d1e9ed5 206 {
JimmyAREM 2:e0402d1e9ed5 207 //on attend
JimmyAREM 2:e0402d1e9ed5 208 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 209 }
JimmyAREM 2:e0402d1e9ed5 210 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 3:4810f8316e38 211 robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 212 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 213 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 214 typeEvitement = ARRET;
JimmyAREM 4:7a9a9720e4d0 215 while(tempsMatch <= TEMPSMATCH)
JimmyAREM 4:7a9a9720e4d0 216 {
JimmyAREM 4:7a9a9720e4d0 217 switch (etapeMatch) {
GuillaumeCH 6:db41c3f7245e 218
GuillaumeCH 6:db41c3f7245e 219 case 0 : /* On tourne pour aller vers le terrain adverse et on avance jusqu'au milieu du terrain */
GuillaumeCH 6:db41c3f7245e 220 {
GuillaumeCH 6:db41c3f7245e 221 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 6:db41c3f7245e 222 robot.ligne_droite_basique(3000);
GuillaumeCH 6:db41c3f7245e 223 robot.rotation_rel(-90);
GuillaumeCH 6:db41c3f7245e 224 //robot.ligne_droite_basique(127500);
GuillaumeCH 6:db41c3f7245e 225 etapeMatch++;
GuillaumeCH 6:db41c3f7245e 226
GuillaumeCH 6:db41c3f7245e 227 break;
GuillaumeCH 6:db41c3f7245e 228 }
GuillaumeCH 6:db41c3f7245e 229 case 1 : /* On se met en position pour pousser les palets */
GuillaumeCH 6:db41c3f7245e 230 {
GuillaumeCH 6:db41c3f7245e 231 robot.va_au_point(300000-158000,22500,180);
GuillaumeCH 6:db41c3f7245e 232 brasDroit.activerBras();
GuillaumeCH 6:db41c3f7245e 233 robot.ligne_droite_basique(11000);
GuillaumeCH 6:db41c3f7245e 234 brasDroit.desactiverBras();
GuillaumeCH 6:db41c3f7245e 235 /*robot.rotation_rel(90);
GuillaumeCH 6:db41c3f7245e 236 robot.ligne_droite_basique(60000);
GuillaumeCH 6:db41c3f7245e 237 robot.rotation_rel(90);
GuillaumeCH 6:db41c3f7245e 238 brasPousserDroit.activerBras();
GuillaumeCH 6:db41c3f7245e 239 brasPousserGauche.activerBras();*/
GuillaumeCH 6:db41c3f7245e 240 etapeMatch++;
GuillaumeCH 6:db41c3f7245e 241
GuillaumeCH 6:db41c3f7245e 242 break;
GuillaumeCH 6:db41c3f7245e 243 }
GuillaumeCH 6:db41c3f7245e 244 case 2 : /* On pousse la zone de chaos dans les cases */
GuillaumeCH 6:db41c3f7245e 245 {
GuillaumeCH 6:db41c3f7245e 246 robot.va_au_point(300000-220000,60000,90);
GuillaumeCH 6:db41c3f7245e 247 robot.ligne_droite_basique(60000);
GuillaumeCH 6:db41c3f7245e 248 robot.rotation_rel(90);
GuillaumeCH 6:db41c3f7245e 249 robot.ligne_droite_basique(50000);
GuillaumeCH 6:db41c3f7245e 250 robot.rotation_rel(90);
GuillaumeCH 6:db41c3f7245e 251 robot.ligne_droite_basique(50000);
GuillaumeCH 6:db41c3f7245e 252 robot.rotation_rel(90);
GuillaumeCH 6:db41c3f7245e 253 robot.ligne_droite_basique(50000);
GuillaumeCH 6:db41c3f7245e 254
GuillaumeCH 6:db41c3f7245e 255 //robot.ligne_droite_basique(110000);
GuillaumeCH 6:db41c3f7245e 256 updateAndWriteScore('0', '1', '0');
GuillaumeCH 6:db41c3f7245e 257 etapeMatch++;
GuillaumeCH 6:db41c3f7245e 258
GuillaumeCH 6:db41c3f7245e 259 break;
GuillaumeCH 6:db41c3f7245e 260 }
GuillaumeCH 6:db41c3f7245e 261 case 3 : /* On se met en position pour faire des rectangles */
GuillaumeCH 6:db41c3f7245e 262 {
GuillaumeCH 6:db41c3f7245e 263 typeMovement = DEPLACEMENT_ARRIERE;
GuillaumeCH 6:db41c3f7245e 264 /*robot.marche_arriere(-10000);
GuillaumeCH 6:db41c3f7245e 265 brasPousserDroit.desactiverBras();
GuillaumeCH 6:db41c3f7245e 266 brasPousserGauche.desactiverBras();*/
GuillaumeCH 6:db41c3f7245e 267 etapeMatch++;
GuillaumeCH 6:db41c3f7245e 268
GuillaumeCH 6:db41c3f7245e 269 break;
GuillaumeCH 6:db41c3f7245e 270 }
GuillaumeCH 6:db41c3f7245e 271 case 4 : /* On fait un rectangle arriere */
GuillaumeCH 6:db41c3f7245e 272 {
GuillaumeCH 6:db41c3f7245e 273
GuillaumeCH 6:db41c3f7245e 274 robot.marche_arriere(-50000);
GuillaumeCH 6:db41c3f7245e 275 robot.rotation_rel(-90);
GuillaumeCH 6:db41c3f7245e 276 robot.marche_arriere(-50000);
GuillaumeCH 6:db41c3f7245e 277 robot.rotation_rel(-90);
GuillaumeCH 6:db41c3f7245e 278 robot.marche_arriere(-50000);
GuillaumeCH 6:db41c3f7245e 279 robot.rotation_rel(-90);
GuillaumeCH 6:db41c3f7245e 280 robot.marche_arriere(-50000);
GuillaumeCH 6:db41c3f7245e 281 //robot.rotation_rel(180);
GuillaumeCH 6:db41c3f7245e 282 etapeMatch++;
GuillaumeCH 6:db41c3f7245e 283
GuillaumeCH 6:db41c3f7245e 284 break;
GuillaumeCH 6:db41c3f7245e 285 }
GuillaumeCH 6:db41c3f7245e 286 case 5 : /* On pousse le palet vert ou le vert et les deux bleus dans la balance en passant par la pente */
GuillaumeCH 6:db41c3f7245e 287 {
GuillaumeCH 6:db41c3f7245e 288 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 6:db41c3f7245e 289 robot.ligne_droite_basique(50000);
GuillaumeCH 6:db41c3f7245e 290 robot.rotation_rel(90);
GuillaumeCH 6:db41c3f7245e 291 robot.ligne_droite_basique(50000);
GuillaumeCH 6:db41c3f7245e 292 robot.rotation_rel(90);
GuillaumeCH 6:db41c3f7245e 293 robot.ligne_droite_basique(50000);
GuillaumeCH 6:db41c3f7245e 294 robot.rotation_rel(90);
GuillaumeCH 6:db41c3f7245e 295 robot.ligne_droite_basique(50000);
GuillaumeCH 6:db41c3f7245e 296 robot.rotation_rel(90);
GuillaumeCH 6:db41c3f7245e 297 etapeMatch++;
GuillaumeCH 6:db41c3f7245e 298
GuillaumeCH 6:db41c3f7245e 299 break;
GuillaumeCH 6:db41c3f7245e 300 }
GuillaumeCH 6:db41c3f7245e 301
GuillaumeCH 6:db41c3f7245e 302 default:
GuillaumeCH 6:db41c3f7245e 303 {
GuillaumeCH 6:db41c3f7245e 304 robot.vitesse_nulle_D(0);
GuillaumeCH 6:db41c3f7245e 305 robot.vitesse_nulle_G(0);
GuillaumeCH 6:db41c3f7245e 306 motors_stop();
GuillaumeCH 6:db41c3f7245e 307 }
GuillaumeCH 6:db41c3f7245e 308 }
GuillaumeCH 6:db41c3f7245e 309 }
GuillaumeCH 6:db41c3f7245e 310
GuillaumeCH 6:db41c3f7245e 311 //Arrêter les moteurs
GuillaumeCH 6:db41c3f7245e 312 robot.vitesse_nulle_D(0);
GuillaumeCH 6:db41c3f7245e 313 robot.vitesse_nulle_G(0);
GuillaumeCH 6:db41c3f7245e 314 motors_stop();
GuillaumeCH 6:db41c3f7245e 315 while(1);
GuillaumeCH 6:db41c3f7245e 316 /*while(tempsMatch <= TEMPSMATCH)
GuillaumeCH 6:db41c3f7245e 317 {
GuillaumeCH 6:db41c3f7245e 318 switch (etapeMatch) {
JimmyAREM 4:7a9a9720e4d0 319
JimmyAREM 4:7a9a9720e4d0 320
GuillaumeCH 6:db41c3f7245e 321 case 0 : // On tourne pour aller vers le terrain adverse et on avance jusqu'au milieu du terrain
JimmyAREM 4:7a9a9720e4d0 322 {
JimmyAREM 4:7a9a9720e4d0 323 robot.rotation_rel(-90);
JimmyAREM 4:7a9a9720e4d0 324 robot.ligne_droite_basique(127500);
JimmyAREM 4:7a9a9720e4d0 325 etapeMatch++;
JimmyAREM 4:7a9a9720e4d0 326
JimmyAREM 4:7a9a9720e4d0 327 break;
JimmyAREM 4:7a9a9720e4d0 328 }
GuillaumeCH 6:db41c3f7245e 329 case 1 : // On se met en position pour pousser les palets
JimmyAREM 4:7a9a9720e4d0 330 {
JimmyAREM 4:7a9a9720e4d0 331 robot.rotation_rel(-90);
JimmyAREM 4:7a9a9720e4d0 332 robot.ligne_droite_basique(60000);
JimmyAREM 4:7a9a9720e4d0 333 robot.rotation_rel(-90);
JimmyAREM 4:7a9a9720e4d0 334 brasPousserDroit.activerBras();
JimmyAREM 4:7a9a9720e4d0 335 brasPousserGauche.activerBras();
JimmyAREM 4:7a9a9720e4d0 336 etapeMatch++;
JimmyAREM 4:7a9a9720e4d0 337
JimmyAREM 4:7a9a9720e4d0 338 break;
JimmyAREM 4:7a9a9720e4d0 339 }
GuillaumeCH 6:db41c3f7245e 340 case 2 : // On pousse la zone de chaos dans les cases
JimmyAREM 4:7a9a9720e4d0 341 {
JimmyAREM 4:7a9a9720e4d0 342 robot.ligne_droite_basique(110000);
JimmyAREM 4:7a9a9720e4d0 343 updateAndWriteScore('0', '1', '0');
JimmyAREM 4:7a9a9720e4d0 344 etapeMatch++;
JimmyAREM 4:7a9a9720e4d0 345
JimmyAREM 4:7a9a9720e4d0 346 break;
JimmyAREM 4:7a9a9720e4d0 347 }
GuillaumeCH 6:db41c3f7245e 348 case 3 : // On se met en position pour faire des rectangles
JimmyAREM 4:7a9a9720e4d0 349 {
JimmyAREM 4:7a9a9720e4d0 350 robot.marche_arriere(-10000);
JimmyAREM 4:7a9a9720e4d0 351 brasPousserDroit.desactiverBras();
JimmyAREM 4:7a9a9720e4d0 352 brasPousserGauche.desactiverBras();
JimmyAREM 4:7a9a9720e4d0 353 etapeMatch++;
JimmyAREM 4:7a9a9720e4d0 354
JimmyAREM 4:7a9a9720e4d0 355 break;
JimmyAREM 4:7a9a9720e4d0 356 }
GuillaumeCH 6:db41c3f7245e 357 case 4 : // On fait un rectangle arriere
JimmyAREM 4:7a9a9720e4d0 358 {
JimmyAREM 4:7a9a9720e4d0 359
JimmyAREM 4:7a9a9720e4d0 360 robot.marche_arriere(-50000);
JimmyAREM 4:7a9a9720e4d0 361 robot.rotation_rel(90);
JimmyAREM 4:7a9a9720e4d0 362 robot.marche_arriere(-50000);
JimmyAREM 4:7a9a9720e4d0 363 robot.rotation_rel(90);
JimmyAREM 4:7a9a9720e4d0 364 robot.marche_arriere(-50000);
JimmyAREM 4:7a9a9720e4d0 365 robot.rotation_rel(90);
JimmyAREM 4:7a9a9720e4d0 366 robot.marche_arriere(-50000);
JimmyAREM 4:7a9a9720e4d0 367 //robot.rotation_rel(180);
JimmyAREM 4:7a9a9720e4d0 368 etapeMatch++;
JimmyAREM 4:7a9a9720e4d0 369
JimmyAREM 4:7a9a9720e4d0 370 break;
JimmyAREM 4:7a9a9720e4d0 371 }
GuillaumeCH 6:db41c3f7245e 372 case 5 : // On pousse le palet vert ou le vert et les deux bleus dans la balance en passant par la pente
JimmyAREM 4:7a9a9720e4d0 373 {
JimmyAREM 4:7a9a9720e4d0 374 robot.ligne_droite_basique(50000);
JimmyAREM 4:7a9a9720e4d0 375 robot.rotation_rel(-90);
JimmyAREM 4:7a9a9720e4d0 376 robot.ligne_droite_basique(50000);
JimmyAREM 4:7a9a9720e4d0 377 robot.rotation_rel(-90);
JimmyAREM 4:7a9a9720e4d0 378 robot.ligne_droite_basique(50000);
JimmyAREM 4:7a9a9720e4d0 379 robot.rotation_rel(-90);
JimmyAREM 4:7a9a9720e4d0 380 robot.ligne_droite_basique(50000);
JimmyAREM 4:7a9a9720e4d0 381 robot.rotation_rel(-90);
JimmyAREM 4:7a9a9720e4d0 382 etapeMatch++;
JimmyAREM 4:7a9a9720e4d0 383
JimmyAREM 4:7a9a9720e4d0 384 break;
JimmyAREM 4:7a9a9720e4d0 385 }
JimmyAREM 4:7a9a9720e4d0 386
JimmyAREM 4:7a9a9720e4d0 387 default:
JimmyAREM 4:7a9a9720e4d0 388 {
JimmyAREM 4:7a9a9720e4d0 389 robot.vitesse_nulle_D(0);
JimmyAREM 4:7a9a9720e4d0 390 robot.vitesse_nulle_G(0);
JimmyAREM 4:7a9a9720e4d0 391 motors_stop();
JimmyAREM 4:7a9a9720e4d0 392 }
JimmyAREM 4:7a9a9720e4d0 393 }
JimmyAREM 4:7a9a9720e4d0 394 }
JimmyAREM 4:7a9a9720e4d0 395
JimmyAREM 4:7a9a9720e4d0 396 //Arrêter les moteurs
JimmyAREM 4:7a9a9720e4d0 397 robot.vitesse_nulle_D(0);
JimmyAREM 4:7a9a9720e4d0 398 robot.vitesse_nulle_G(0);
JimmyAREM 4:7a9a9720e4d0 399 motors_stop();
GuillaumeCH 6:db41c3f7245e 400 while(1);*/
JimmyAREM 2:e0402d1e9ed5 401 }
JimmyAREM 2:e0402d1e9ed5 402
JimmyAREM 2:e0402d1e9ed5 403 /*Fin Strategie homologation jaune -------------------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 404
JimmyAREM 2:e0402d1e9ed5 405
JimmyAREM 2:e0402d1e9ed5 406 /*Debut Strategie classique violet -------------------------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 407
JimmyAREM 2:e0402d1e9ed5 408
JimmyAREM 0:a89fe490343e 409 void strategieClassiqueViolet(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 0:a89fe490343e 410 {
JimmyAREM 0:a89fe490343e 411 write(bufferScore);
JimmyAREM 0:a89fe490343e 412 Timer tempsMatch; // timer en seconde
JimmyAREM 0:a89fe490343e 413 int etapeMatch = 0;
JimmyAREM 0:a89fe490343e 414 while(demarreur.getState() == false)
JimmyAREM 0:a89fe490343e 415 {
JimmyAREM 0:a89fe490343e 416 //on attend
JimmyAREM 0:a89fe490343e 417 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 0:a89fe490343e 418 }
JimmyAREM 1:785b37686185 419 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 4:7a9a9720e4d0 420 robot.initialisation();//check si modif
JimmyAREM 0:a89fe490343e 421 lancerTimerEcran();
JimmyAREM 0:a89fe490343e 422 tempsMatch.start();
JimmyAREM 5:aa69d0e17c4e 423 typeEvitement = ARRET;
JimmyAREM 0:a89fe490343e 424 while(tempsMatch <= TEMPSMATCH)
JimmyAREM 0:a89fe490343e 425 {
JimmyAREM 0:a89fe490343e 426 switch (etapeMatch) {
JimmyAREM 0:a89fe490343e 427
JimmyAREM 0:a89fe490343e 428 case 0 : /* On active l'expérience */
JimmyAREM 0:a89fe490343e 429 {
JimmyAREM 0:a89fe490343e 430 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 2:e0402d1e9ed5 431 robot.ligne_droite_basique(26500);
JimmyAREM 0:a89fe490343e 432 robot.poussette(300);
JimmyAREM 0:a89fe490343e 433 updateAndWriteScore('0', '4', '0');
JimmyAREM 0:a89fe490343e 434 etapeMatch++;
JimmyAREM 0:a89fe490343e 435
JimmyAREM 0:a89fe490343e 436 break;
JimmyAREM 0:a89fe490343e 437 }
JimmyAREM 0:a89fe490343e 438 case 1 : /* On pousse le palet bleu de la pente de l'accélérateur */
JimmyAREM 0:a89fe490343e 439 {
JimmyAREM 0:a89fe490343e 440 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 441 robot.marche_arriere(-11200);
JimmyAREM 0:a89fe490343e 442 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 2:e0402d1e9ed5 443 /*robot.rotation_rel(90);
JimmyAREM 2:e0402d1e9ed5 444 robot.ligne_droite_basique(130000);*/
GuillaumeCH 6:db41c3f7245e 445 robot.va_au_point(158000,23000,0);
JimmyAREM 0:a89fe490343e 446 brasDroit.activerBras();
GuillaumeCH 6:db41c3f7245e 447 robot.ligne_droite_basique(11000);
JimmyAREM 0:a89fe490343e 448 brasDroit.desactiverBras();
JimmyAREM 0:a89fe490343e 449 updateAndWriteScore('0', '5', '0');
JimmyAREM 0:a89fe490343e 450 etapeMatch++;
JimmyAREM 0:a89fe490343e 451
JimmyAREM 0:a89fe490343e 452 break;
JimmyAREM 0:a89fe490343e 453 }
JimmyAREM 0:a89fe490343e 454 case 2 : /* On récupère le goldenium */
JimmyAREM 0:a89fe490343e 455 {
GuillaumeCH 6:db41c3f7245e 456 robot.va_au_point(220000,30000,-90);
JimmyAREM 2:e0402d1e9ed5 457 //robot.ligne_droite_basique(54500);
JimmyAREM 2:e0402d1e9ed5 458 //robot.rotation_rel(-90);
JimmyAREM 0:a89fe490343e 459 pompe.activer();
JimmyAREM 2:e0402d1e9ed5 460 robot.poussette(1500);
JimmyAREM 0:a89fe490343e 461 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 462 robot.marche_arriere(-10000);
JimmyAREM 0:a89fe490343e 463 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 0:a89fe490343e 464 updateAndWriteScore('0', '8', '0');
JimmyAREM 0:a89fe490343e 465 etapeMatch++;
JimmyAREM 0:a89fe490343e 466
JimmyAREM 0:a89fe490343e 467 break;
JimmyAREM 0:a89fe490343e 468 }
JimmyAREM 0:a89fe490343e 469 case 3 : /* On met le goldenium dans la balance */
JimmyAREM 0:a89fe490343e 470 {
JimmyAREM 2:e0402d1e9ed5 471 typeEvitement = ARRET;
JimmyAREM 4:7a9a9720e4d0 472 robot.va_au_point(130700,116000,90);
JimmyAREM 2:e0402d1e9ed5 473 robot.ligne_droite_basique(15000);
JimmyAREM 2:e0402d1e9ed5 474 /*robot.rotation_rel(-90);
JimmyAREM 2:e0402d1e9ed5 475 robot.ligne_droite_basique(93000);
JimmyAREM 0:a89fe490343e 476 robot.rotation_rel(-90);
JimmyAREM 2:e0402d1e9ed5 477 robot.ligne_droite_basique(104000);*/
JimmyAREM 2:e0402d1e9ed5 478 robot.poussette(1500);
JimmyAREM 0:a89fe490343e 479 pompe.desactiver();
JimmyAREM 0:a89fe490343e 480 wait(2);
JimmyAREM 0:a89fe490343e 481 updateAndWriteScore('1', '0', '4');
JimmyAREM 0:a89fe490343e 482 etapeMatch++;
JimmyAREM 0:a89fe490343e 483
JimmyAREM 0:a89fe490343e 484 break;
JimmyAREM 0:a89fe490343e 485 }
JimmyAREM 0:a89fe490343e 486 case 4 : /* On pousse la zone de chaos dans la zone du redium */
JimmyAREM 0:a89fe490343e 487 {
JimmyAREM 0:a89fe490343e 488 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 489 robot.marche_arriere(-8000);
JimmyAREM 0:a89fe490343e 490 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 4:7a9a9720e4d0 491 robot.rotation_abs(-134);
JimmyAREM 0:a89fe490343e 492 brasPousserGauche.activerBras();
JimmyAREM 0:a89fe490343e 493 brasPousserDroit.activerBras();
JimmyAREM 4:7a9a9720e4d0 494 robot.ligne_droite_basique(116000);
JimmyAREM 0:a89fe490343e 495 updateAndWriteScore('1', '2', '4');
JimmyAREM 0:a89fe490343e 496 etapeMatch++;
JimmyAREM 0:a89fe490343e 497
JimmyAREM 0:a89fe490343e 498 break;
JimmyAREM 0:a89fe490343e 499 }
JimmyAREM 0:a89fe490343e 500 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 501 {
JimmyAREM 0:a89fe490343e 502 brasPousserGauche.desactiverBras();
JimmyAREM 0:a89fe490343e 503 brasPousserDroit.desactiverBras();
JimmyAREM 0:a89fe490343e 504 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 505 robot.marche_arriere(-8000);
JimmyAREM 0:a89fe490343e 506 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 6:db41c3f7245e 507 robot.va_au_point(15000,176000,0);
JimmyAREM 2:e0402d1e9ed5 508 robot.ligne_droite_basique(5000);
JimmyAREM 0:a89fe490343e 509 brasPousserGauche.activerBras();
JimmyAREM 0:a89fe490343e 510 brasPousserDroit.activerBras();
JimmyAREM 0:a89fe490343e 511 etapeMatch++;
JimmyAREM 0:a89fe490343e 512
JimmyAREM 0:a89fe490343e 513 break;
JimmyAREM 0:a89fe490343e 514 }
JimmyAREM 0:a89fe490343e 515 case 6 : /* On redescant de la pente */
JimmyAREM 0:a89fe490343e 516 {
GuillaumeCH 6:db41c3f7245e 517 robot.pente_combo(-90, brasPousserGauche,brasPousserDroit,pompe);
JimmyAREM 4:7a9a9720e4d0 518 updateAndWriteScore('1', '3', '4');
JimmyAREM 0:a89fe490343e 519 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 520 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 521 etapeMatch++;
JimmyAREM 0:a89fe490343e 522
JimmyAREM 0:a89fe490343e 523 break;
JimmyAREM 0:a89fe490343e 524 }
JimmyAREM 0:a89fe490343e 525 default:
JimmyAREM 0:a89fe490343e 526 {
JimmyAREM 0:a89fe490343e 527 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 528 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 529 motors_stop();
JimmyAREM 0:a89fe490343e 530 pompe.desactiver();
JimmyAREM 0:a89fe490343e 531 }
JimmyAREM 0:a89fe490343e 532 }
JimmyAREM 0:a89fe490343e 533 }
JimmyAREM 0:a89fe490343e 534
JimmyAREM 0:a89fe490343e 535 //Arrêter les moteurs
JimmyAREM 0:a89fe490343e 536 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 537 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 538 motors_stop();
JimmyAREM 0:a89fe490343e 539 pompe.desactiver();
JimmyAREM 0:a89fe490343e 540 while(1);
JimmyAREM 0:a89fe490343e 541 }
JimmyAREM 0:a89fe490343e 542
JimmyAREM 0:a89fe490343e 543
JimmyAREM 2:e0402d1e9ed5 544 /*-------- Fin Strategie classique violet -----------------------------------------------*/
JimmyAREM 0:a89fe490343e 545
JimmyAREM 0:a89fe490343e 546
JimmyAREM 2:e0402d1e9ed5 547 /*------- Debut Strategie classique Jaune -----------------------------------------------*/
JimmyAREM 0:a89fe490343e 548
JimmyAREM 0:a89fe490343e 549
JimmyAREM 0:a89fe490343e 550 void strategieClassiqueJaune(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 0:a89fe490343e 551 {
JimmyAREM 0:a89fe490343e 552 write(bufferScore);
JimmyAREM 0:a89fe490343e 553 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 554 int etapeMatch = 0;
JimmyAREM 0:a89fe490343e 555 while(demarreur.getState() == false)
JimmyAREM 0:a89fe490343e 556 {
JimmyAREM 0:a89fe490343e 557 //on attend
JimmyAREM 0:a89fe490343e 558 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 0:a89fe490343e 559 }
JimmyAREM 1:785b37686185 560 tempsArretMvt.attach(&arretSystem, 100.0);
JimmyAREM 3:4810f8316e38 561 robot.initialisation();
JimmyAREM 0:a89fe490343e 562 lancerTimerEcran();
JimmyAREM 0:a89fe490343e 563 tempsMatch.start();
JimmyAREM 5:aa69d0e17c4e 564 typeEvitement = ARRET;
JimmyAREM 0:a89fe490343e 565 while(tempsMatch <= TEMPSMATCH)
JimmyAREM 0:a89fe490343e 566 {
JimmyAREM 0:a89fe490343e 567 switch (etapeMatch) {
JimmyAREM 0:a89fe490343e 568
JimmyAREM 0:a89fe490343e 569 case 0 : /* On active l'expérience */
JimmyAREM 0:a89fe490343e 570 {
JimmyAREM 4:7a9a9720e4d0 571 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 4:7a9a9720e4d0 572 robot.ligne_droite_basique(26500);
JimmyAREM 0:a89fe490343e 573 robot.poussette(300);
JimmyAREM 0:a89fe490343e 574 updateAndWriteScore('0', '4', '0');
JimmyAREM 0:a89fe490343e 575 etapeMatch++;
JimmyAREM 0:a89fe490343e 576
JimmyAREM 0:a89fe490343e 577 break;
JimmyAREM 0:a89fe490343e 578 }
JimmyAREM 0:a89fe490343e 579 case 1 : /* On pousse le palet bleu de la pente de l'accélérateur */
JimmyAREM 0:a89fe490343e 580 {
JimmyAREM 4:7a9a9720e4d0 581 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 582 robot.marche_arriere(-11200);
JimmyAREM 4:7a9a9720e4d0 583 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 4:7a9a9720e4d0 584 /*robot.rotation_rel(90);
JimmyAREM 4:7a9a9720e4d0 585 robot.ligne_droite_basique(130000);*/
GuillaumeCH 6:db41c3f7245e 586 robot.va_au_point(300000-158000,23000,180);
JimmyAREM 4:7a9a9720e4d0 587 brasGauche.activerBras();
JimmyAREM 4:7a9a9720e4d0 588 robot.ligne_droite_basique(14000);
JimmyAREM 4:7a9a9720e4d0 589 brasGauche .desactiverBras();
JimmyAREM 0:a89fe490343e 590 updateAndWriteScore('0', '5', '0');
JimmyAREM 0:a89fe490343e 591 etapeMatch++;
JimmyAREM 0:a89fe490343e 592
JimmyAREM 0:a89fe490343e 593 break;
JimmyAREM 0:a89fe490343e 594 }
JimmyAREM 0:a89fe490343e 595 case 2 : /* On récupère le goldenium */
JimmyAREM 0:a89fe490343e 596 {
GuillaumeCH 6:db41c3f7245e 597 robot.va_au_point(300000-220000,30000,-90);
JimmyAREM 4:7a9a9720e4d0 598 //robot.ligne_droite_basique(54500);
JimmyAREM 4:7a9a9720e4d0 599 //robot.rotation_rel(-90);
JimmyAREM 0:a89fe490343e 600 pompe.activer();
JimmyAREM 4:7a9a9720e4d0 601 robot.poussette(1500);
JimmyAREM 4:7a9a9720e4d0 602 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 603 robot.marche_arriere(-10000);
JimmyAREM 4:7a9a9720e4d0 604 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 0:a89fe490343e 605 updateAndWriteScore('0', '8', '0');
JimmyAREM 0:a89fe490343e 606 etapeMatch++;
JimmyAREM 0:a89fe490343e 607
JimmyAREM 0:a89fe490343e 608 break;
JimmyAREM 0:a89fe490343e 609 }
JimmyAREM 0:a89fe490343e 610 case 3 : /* On met le goldenium dans la balance */
JimmyAREM 0:a89fe490343e 611 {
JimmyAREM 4:7a9a9720e4d0 612 typeEvitement = ARRET;
JimmyAREM 4:7a9a9720e4d0 613 robot.va_au_point(300000-130700,116000,90);
JimmyAREM 4:7a9a9720e4d0 614 robot.ligne_droite_basique(15000);
JimmyAREM 4:7a9a9720e4d0 615 /*robot.rotation_rel(-90);
JimmyAREM 4:7a9a9720e4d0 616 robot.ligne_droite_basique(93000);
JimmyAREM 4:7a9a9720e4d0 617 robot.rotation_rel(-90);
JimmyAREM 4:7a9a9720e4d0 618 robot.ligne_droite_basique(104000);*/
JimmyAREM 4:7a9a9720e4d0 619 robot.poussette(1500);
JimmyAREM 0:a89fe490343e 620 pompe.desactiver();
JimmyAREM 0:a89fe490343e 621 wait(2);
JimmyAREM 0:a89fe490343e 622 updateAndWriteScore('1', '0', '4');
JimmyAREM 0:a89fe490343e 623 etapeMatch++;
JimmyAREM 0:a89fe490343e 624
JimmyAREM 0:a89fe490343e 625 break;
JimmyAREM 0:a89fe490343e 626 }
JimmyAREM 0:a89fe490343e 627 case 4 : /* On pousse la zone de chaos dans la zone du redium */
JimmyAREM 0:a89fe490343e 628 {
JimmyAREM 4:7a9a9720e4d0 629 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 0:a89fe490343e 630 robot.marche_arriere(-8000);
JimmyAREM 4:7a9a9720e4d0 631 typeMovement = DEPLACEMENT_AVANT;
JimmyAREM 4:7a9a9720e4d0 632 robot.rotation_abs(-44);
JimmyAREM 0:a89fe490343e 633 brasPousserGauche.activerBras();
JimmyAREM 0:a89fe490343e 634 brasPousserDroit.activerBras();
JimmyAREM 4:7a9a9720e4d0 635 robot.ligne_droite_basique(116000);
JimmyAREM 0:a89fe490343e 636 updateAndWriteScore('1', '2', '4');
JimmyAREM 0:a89fe490343e 637 etapeMatch++;
JimmyAREM 0:a89fe490343e 638
JimmyAREM 0:a89fe490343e 639 break;
JimmyAREM 0:a89fe490343e 640 }
JimmyAREM 0:a89fe490343e 641 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 642 {
JimmyAREM 0:a89fe490343e 643 brasPousserGauche.desactiverBras();
JimmyAREM 0:a89fe490343e 644 brasPousserDroit.desactiverBras();
JimmyAREM 4:7a9a9720e4d0 645 typeMovement = DEPLACEMENT_ARRIERE;
JimmyAREM 4:7a9a9720e4d0 646 robot.marche_arriere(-8000);
JimmyAREM 4:7a9a9720e4d0 647 typeMovement = DEPLACEMENT_AVANT;
GuillaumeCH 6:db41c3f7245e 648 robot.va_au_point(300000-15000,176000,180);
JimmyAREM 4:7a9a9720e4d0 649 robot.ligne_droite_basique(5000);
JimmyAREM 0:a89fe490343e 650 brasPousserGauche.activerBras();
JimmyAREM 0:a89fe490343e 651 brasPousserDroit.activerBras();
JimmyAREM 0:a89fe490343e 652 etapeMatch++;
JimmyAREM 0:a89fe490343e 653
JimmyAREM 0:a89fe490343e 654 break;
JimmyAREM 0:a89fe490343e 655 }
JimmyAREM 0:a89fe490343e 656 case 6 : /* On redescant de la pente */
JimmyAREM 0:a89fe490343e 657 {
JimmyAREM 4:7a9a9720e4d0 658 robot.pente_combo(180, brasPousserGauche,brasPousserDroit,pompe);
JimmyAREM 4:7a9a9720e4d0 659 updateAndWriteScore('1', '3', '4');
JimmyAREM 0:a89fe490343e 660 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 661 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 662 etapeMatch++;
JimmyAREM 0:a89fe490343e 663
JimmyAREM 0:a89fe490343e 664 break;
JimmyAREM 0:a89fe490343e 665 }
JimmyAREM 0:a89fe490343e 666 default:
JimmyAREM 0:a89fe490343e 667 {
JimmyAREM 0:a89fe490343e 668 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 669 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 670 motors_stop();
JimmyAREM 4:7a9a9720e4d0 671 pompe.desactiver();
JimmyAREM 0:a89fe490343e 672 }
JimmyAREM 0:a89fe490343e 673 }
JimmyAREM 0:a89fe490343e 674 }
JimmyAREM 0:a89fe490343e 675
JimmyAREM 0:a89fe490343e 676 //Arrêter les moteurs
JimmyAREM 0:a89fe490343e 677 robot.vitesse_nulle_D(0);
JimmyAREM 0:a89fe490343e 678 robot.vitesse_nulle_G(0);
JimmyAREM 0:a89fe490343e 679 motors_stop();
JimmyAREM 4:7a9a9720e4d0 680 pompe.desactiver();
JimmyAREM 0:a89fe490343e 681 while(1);
JimmyAREM 2:e0402d1e9ed5 682 }
JimmyAREM 2:e0402d1e9ed5 683
JimmyAREM 2:e0402d1e9ed5 684 /*--------- Fin Strategie classique jaune --------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 685
JimmyAREM 2:e0402d1e9ed5 686
JimmyAREM 2:e0402d1e9ed5 687 /*--------- Debut Strategie RCVA violet ----------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 688
JimmyAREM 2:e0402d1e9ed5 689
JimmyAREM 2:e0402d1e9ed5 690 void strategieRCVAViolet(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 2:e0402d1e9ed5 691 {
JimmyAREM 2:e0402d1e9ed5 692 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 693 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 694 int etapeMatch = 0;
JimmyAREM 2:e0402d1e9ed5 695 while(demarreur.getState() == false)
JimmyAREM 2:e0402d1e9ed5 696 {
JimmyAREM 2:e0402d1e9ed5 697 //on attend
JimmyAREM 2:e0402d1e9ed5 698 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 699 }
JimmyAREM 2:e0402d1e9ed5 700 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 3:4810f8316e38 701 robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 702 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 703 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 704 typeEvitement = ARRET;
JimmyAREM 2:e0402d1e9ed5 705 }
JimmyAREM 2:e0402d1e9ed5 706
JimmyAREM 2:e0402d1e9ed5 707
JimmyAREM 2:e0402d1e9ed5 708 /*-------- Fin Strategie RCVA violet -----------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 709
JimmyAREM 2:e0402d1e9ed5 710
JimmyAREM 2:e0402d1e9ed5 711 /*-------- Debut Strategie RCVA jaune -----------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 712
JimmyAREM 2:e0402d1e9ed5 713 void strategieRCVAJaune(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 2:e0402d1e9ed5 714 {
JimmyAREM 2:e0402d1e9ed5 715 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 716 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 717 int etapeMatch = 0;
JimmyAREM 2:e0402d1e9ed5 718 while(demarreur.getState() == false)
JimmyAREM 2:e0402d1e9ed5 719 {
JimmyAREM 2:e0402d1e9ed5 720 //on attend
JimmyAREM 2:e0402d1e9ed5 721 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 722 }
JimmyAREM 2:e0402d1e9ed5 723 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 3:4810f8316e38 724 robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 725 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 726 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 727 typeEvitement = ARRET;
JimmyAREM 2:e0402d1e9ed5 728 }
JimmyAREM 2:e0402d1e9ed5 729
JimmyAREM 2:e0402d1e9ed5 730
JimmyAREM 2:e0402d1e9ed5 731 /*-------- Fin Strategie RCVA jaune --------------------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 732
JimmyAREM 2:e0402d1e9ed5 733 /*-------- Debut Strategie humiliation violet ---------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 734
JimmyAREM 2:e0402d1e9ed5 735 void strategieHumiliationViolet(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 2:e0402d1e9ed5 736 {
JimmyAREM 2:e0402d1e9ed5 737 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 738 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 739 int etapeMatch = 0;
JimmyAREM 2:e0402d1e9ed5 740 while(demarreur.getState() == false)
JimmyAREM 2:e0402d1e9ed5 741 {
JimmyAREM 2:e0402d1e9ed5 742 //on attend
JimmyAREM 2:e0402d1e9ed5 743 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 744 }
JimmyAREM 2:e0402d1e9ed5 745 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 3:4810f8316e38 746 robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 747 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 748 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 749 typeEvitement = ARRET;
JimmyAREM 2:e0402d1e9ed5 750 }
JimmyAREM 2:e0402d1e9ed5 751
JimmyAREM 2:e0402d1e9ed5 752
JimmyAREM 2:e0402d1e9ed5 753 /*--------- Fin Strategie humiliation violet ----------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 754
JimmyAREM 2:e0402d1e9ed5 755
JimmyAREM 2:e0402d1e9ed5 756 /*-------- Debut Strategie humiliation jaune ----------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 757
JimmyAREM 2:e0402d1e9ed5 758 void strategieHumiliationJaune(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit)
JimmyAREM 2:e0402d1e9ed5 759 {
JimmyAREM 2:e0402d1e9ed5 760 write(bufferScore);
JimmyAREM 2:e0402d1e9ed5 761 Timer tempsMatch; // timer en seconde
JimmyAREM 2:e0402d1e9ed5 762 int etapeMatch = 0;
JimmyAREM 2:e0402d1e9ed5 763 while(demarreur.getState() == false)
JimmyAREM 2:e0402d1e9ed5 764 {
JimmyAREM 2:e0402d1e9ed5 765 //on attend
JimmyAREM 2:e0402d1e9ed5 766 //pc.printf("On attend le depart du Robot Thanos\n\r");
JimmyAREM 2:e0402d1e9ed5 767 }
JimmyAREM 2:e0402d1e9ed5 768 tempsArretMvt.attach(&arretSystem, TEMPSMATCH);
JimmyAREM 3:4810f8316e38 769 robot.initialisation();
JimmyAREM 2:e0402d1e9ed5 770 lancerTimerEcran();
JimmyAREM 2:e0402d1e9ed5 771 tempsMatch.start();
JimmyAREM 2:e0402d1e9ed5 772 typeEvitement = ARRET;
JimmyAREM 2:e0402d1e9ed5 773 }
JimmyAREM 2:e0402d1e9ed5 774
JimmyAREM 2:e0402d1e9ed5 775
JimmyAREM 2:e0402d1e9ed5 776 /*--------- Fin Strategie humiliation jaune -----------------------------------------*/
JimmyAREM 2:e0402d1e9ed5 777
JimmyAREM 2:e0402d1e9ed5 778
JimmyAREM 2:e0402d1e9ed5 779
JimmyAREM 2:e0402d1e9ed5 780