sequences des strats
Strategie.cpp@6:db41c3f7245e, 2019-05-29 (annotated)
- 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?
User | Revision | Line number | New 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 |