sequences des strats
Strategie.cpp@5:aa69d0e17c4e, 2019-05-29 (annotated)
- Committer:
- JimmyAREM
- Date:
- Wed May 29 11:20:45 2019 +0000
- Revision:
- 5:aa69d0e17c4e
- Parent:
- 4:7a9a9720e4d0
- Child:
- 6:db41c3f7245e
c
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; |
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 | 4:7a9a9720e4d0 | 185 | |
JimmyAREM | 2:e0402d1e9ed5 | 186 | void strategieHomologationJaune(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit) |
JimmyAREM | 2:e0402d1e9ed5 | 187 | { |
JimmyAREM | 2:e0402d1e9ed5 | 188 | write(bufferScore); |
JimmyAREM | 2:e0402d1e9ed5 | 189 | Timer tempsMatch; // timer en seconde |
JimmyAREM | 2:e0402d1e9ed5 | 190 | int etapeMatch = 0; |
JimmyAREM | 2:e0402d1e9ed5 | 191 | while(demarreur.getState() == false) |
JimmyAREM | 2:e0402d1e9ed5 | 192 | { |
JimmyAREM | 2:e0402d1e9ed5 | 193 | //on attend |
JimmyAREM | 2:e0402d1e9ed5 | 194 | //pc.printf("On attend le depart du Robot Thanos\n\r"); |
JimmyAREM | 2:e0402d1e9ed5 | 195 | } |
JimmyAREM | 2:e0402d1e9ed5 | 196 | tempsArretMvt.attach(&arretSystem, TEMPSMATCH); |
JimmyAREM | 3:4810f8316e38 | 197 | robot.initialisation(); |
JimmyAREM | 2:e0402d1e9ed5 | 198 | lancerTimerEcran(); |
JimmyAREM | 2:e0402d1e9ed5 | 199 | tempsMatch.start(); |
JimmyAREM | 2:e0402d1e9ed5 | 200 | typeEvitement = ARRET; |
JimmyAREM | 4:7a9a9720e4d0 | 201 | while(tempsMatch <= TEMPSMATCH) |
JimmyAREM | 4:7a9a9720e4d0 | 202 | { |
JimmyAREM | 4:7a9a9720e4d0 | 203 | switch (etapeMatch) { |
JimmyAREM | 4:7a9a9720e4d0 | 204 | |
JimmyAREM | 4:7a9a9720e4d0 | 205 | |
JimmyAREM | 4:7a9a9720e4d0 | 206 | case 0 : /* On tourne pour aller vers le terrain adverse et on avance jusqu'au milieu du terrain */ |
JimmyAREM | 4:7a9a9720e4d0 | 207 | { |
JimmyAREM | 4:7a9a9720e4d0 | 208 | robot.rotation_rel(-90); |
JimmyAREM | 4:7a9a9720e4d0 | 209 | robot.ligne_droite_basique(127500); |
JimmyAREM | 4:7a9a9720e4d0 | 210 | etapeMatch++; |
JimmyAREM | 4:7a9a9720e4d0 | 211 | |
JimmyAREM | 4:7a9a9720e4d0 | 212 | break; |
JimmyAREM | 4:7a9a9720e4d0 | 213 | } |
JimmyAREM | 4:7a9a9720e4d0 | 214 | case 1 : /* On se met en position pour pousser les palets */ |
JimmyAREM | 4:7a9a9720e4d0 | 215 | { |
JimmyAREM | 4:7a9a9720e4d0 | 216 | robot.rotation_rel(-90); |
JimmyAREM | 4:7a9a9720e4d0 | 217 | robot.ligne_droite_basique(60000); |
JimmyAREM | 4:7a9a9720e4d0 | 218 | robot.rotation_rel(-90); |
JimmyAREM | 4:7a9a9720e4d0 | 219 | brasPousserDroit.activerBras(); |
JimmyAREM | 4:7a9a9720e4d0 | 220 | brasPousserGauche.activerBras(); |
JimmyAREM | 4:7a9a9720e4d0 | 221 | etapeMatch++; |
JimmyAREM | 4:7a9a9720e4d0 | 222 | |
JimmyAREM | 4:7a9a9720e4d0 | 223 | break; |
JimmyAREM | 4:7a9a9720e4d0 | 224 | } |
JimmyAREM | 4:7a9a9720e4d0 | 225 | case 2 : /* On pousse la zone de chaos dans les cases */ |
JimmyAREM | 4:7a9a9720e4d0 | 226 | { |
JimmyAREM | 4:7a9a9720e4d0 | 227 | robot.ligne_droite_basique(110000); |
JimmyAREM | 4:7a9a9720e4d0 | 228 | updateAndWriteScore('0', '1', '0'); |
JimmyAREM | 4:7a9a9720e4d0 | 229 | etapeMatch++; |
JimmyAREM | 4:7a9a9720e4d0 | 230 | |
JimmyAREM | 4:7a9a9720e4d0 | 231 | break; |
JimmyAREM | 4:7a9a9720e4d0 | 232 | } |
JimmyAREM | 4:7a9a9720e4d0 | 233 | case 3 : /* On se met en position pour faire des rectangles */ |
JimmyAREM | 4:7a9a9720e4d0 | 234 | { |
JimmyAREM | 4:7a9a9720e4d0 | 235 | robot.marche_arriere(-10000); |
JimmyAREM | 4:7a9a9720e4d0 | 236 | brasPousserDroit.desactiverBras(); |
JimmyAREM | 4:7a9a9720e4d0 | 237 | brasPousserGauche.desactiverBras(); |
JimmyAREM | 4:7a9a9720e4d0 | 238 | etapeMatch++; |
JimmyAREM | 4:7a9a9720e4d0 | 239 | |
JimmyAREM | 4:7a9a9720e4d0 | 240 | break; |
JimmyAREM | 4:7a9a9720e4d0 | 241 | } |
JimmyAREM | 4:7a9a9720e4d0 | 242 | case 4 : /* On fait un rectangle arriere */ |
JimmyAREM | 4:7a9a9720e4d0 | 243 | { |
JimmyAREM | 4:7a9a9720e4d0 | 244 | |
JimmyAREM | 4:7a9a9720e4d0 | 245 | robot.marche_arriere(-50000); |
JimmyAREM | 4:7a9a9720e4d0 | 246 | robot.rotation_rel(90); |
JimmyAREM | 4:7a9a9720e4d0 | 247 | robot.marche_arriere(-50000); |
JimmyAREM | 4:7a9a9720e4d0 | 248 | robot.rotation_rel(90); |
JimmyAREM | 4:7a9a9720e4d0 | 249 | robot.marche_arriere(-50000); |
JimmyAREM | 4:7a9a9720e4d0 | 250 | robot.rotation_rel(90); |
JimmyAREM | 4:7a9a9720e4d0 | 251 | robot.marche_arriere(-50000); |
JimmyAREM | 4:7a9a9720e4d0 | 252 | //robot.rotation_rel(180); |
JimmyAREM | 4:7a9a9720e4d0 | 253 | etapeMatch++; |
JimmyAREM | 4:7a9a9720e4d0 | 254 | |
JimmyAREM | 4:7a9a9720e4d0 | 255 | break; |
JimmyAREM | 4:7a9a9720e4d0 | 256 | } |
JimmyAREM | 4:7a9a9720e4d0 | 257 | 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 | 258 | { |
JimmyAREM | 4:7a9a9720e4d0 | 259 | robot.ligne_droite_basique(50000); |
JimmyAREM | 4:7a9a9720e4d0 | 260 | robot.rotation_rel(-90); |
JimmyAREM | 4:7a9a9720e4d0 | 261 | robot.ligne_droite_basique(50000); |
JimmyAREM | 4:7a9a9720e4d0 | 262 | robot.rotation_rel(-90); |
JimmyAREM | 4:7a9a9720e4d0 | 263 | robot.ligne_droite_basique(50000); |
JimmyAREM | 4:7a9a9720e4d0 | 264 | robot.rotation_rel(-90); |
JimmyAREM | 4:7a9a9720e4d0 | 265 | robot.ligne_droite_basique(50000); |
JimmyAREM | 4:7a9a9720e4d0 | 266 | robot.rotation_rel(-90); |
JimmyAREM | 4:7a9a9720e4d0 | 267 | etapeMatch++; |
JimmyAREM | 4:7a9a9720e4d0 | 268 | |
JimmyAREM | 4:7a9a9720e4d0 | 269 | break; |
JimmyAREM | 4:7a9a9720e4d0 | 270 | } |
JimmyAREM | 4:7a9a9720e4d0 | 271 | |
JimmyAREM | 4:7a9a9720e4d0 | 272 | default: |
JimmyAREM | 4:7a9a9720e4d0 | 273 | { |
JimmyAREM | 4:7a9a9720e4d0 | 274 | robot.vitesse_nulle_D(0); |
JimmyAREM | 4:7a9a9720e4d0 | 275 | robot.vitesse_nulle_G(0); |
JimmyAREM | 4:7a9a9720e4d0 | 276 | motors_stop(); |
JimmyAREM | 4:7a9a9720e4d0 | 277 | } |
JimmyAREM | 4:7a9a9720e4d0 | 278 | } |
JimmyAREM | 4:7a9a9720e4d0 | 279 | } |
JimmyAREM | 4:7a9a9720e4d0 | 280 | |
JimmyAREM | 4:7a9a9720e4d0 | 281 | //Arrêter les moteurs |
JimmyAREM | 4:7a9a9720e4d0 | 282 | robot.vitesse_nulle_D(0); |
JimmyAREM | 4:7a9a9720e4d0 | 283 | robot.vitesse_nulle_G(0); |
JimmyAREM | 4:7a9a9720e4d0 | 284 | motors_stop(); |
JimmyAREM | 4:7a9a9720e4d0 | 285 | while(1); |
JimmyAREM | 2:e0402d1e9ed5 | 286 | } |
JimmyAREM | 2:e0402d1e9ed5 | 287 | |
JimmyAREM | 2:e0402d1e9ed5 | 288 | /*Fin Strategie homologation jaune -------------------------------------------------------------------*/ |
JimmyAREM | 2:e0402d1e9ed5 | 289 | |
JimmyAREM | 2:e0402d1e9ed5 | 290 | |
JimmyAREM | 2:e0402d1e9ed5 | 291 | /*Debut Strategie classique violet -------------------------------------------------------------------*/ |
JimmyAREM | 2:e0402d1e9ed5 | 292 | |
JimmyAREM | 2:e0402d1e9ed5 | 293 | |
JimmyAREM | 0:a89fe490343e | 294 | void strategieClassiqueViolet(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit) |
JimmyAREM | 0:a89fe490343e | 295 | { |
JimmyAREM | 0:a89fe490343e | 296 | write(bufferScore); |
JimmyAREM | 0:a89fe490343e | 297 | Timer tempsMatch; // timer en seconde |
JimmyAREM | 0:a89fe490343e | 298 | int etapeMatch = 0; |
JimmyAREM | 0:a89fe490343e | 299 | while(demarreur.getState() == false) |
JimmyAREM | 0:a89fe490343e | 300 | { |
JimmyAREM | 0:a89fe490343e | 301 | //on attend |
JimmyAREM | 0:a89fe490343e | 302 | //pc.printf("On attend le depart du Robot Thanos\n\r"); |
JimmyAREM | 0:a89fe490343e | 303 | } |
JimmyAREM | 1:785b37686185 | 304 | tempsArretMvt.attach(&arretSystem, TEMPSMATCH); |
JimmyAREM | 4:7a9a9720e4d0 | 305 | robot.initialisation();//check si modif |
JimmyAREM | 0:a89fe490343e | 306 | lancerTimerEcran(); |
JimmyAREM | 0:a89fe490343e | 307 | tempsMatch.start(); |
JimmyAREM | 5:aa69d0e17c4e | 308 | typeEvitement = ARRET; |
JimmyAREM | 0:a89fe490343e | 309 | while(tempsMatch <= TEMPSMATCH) |
JimmyAREM | 0:a89fe490343e | 310 | { |
JimmyAREM | 0:a89fe490343e | 311 | switch (etapeMatch) { |
JimmyAREM | 0:a89fe490343e | 312 | |
JimmyAREM | 0:a89fe490343e | 313 | case 0 : /* On active l'expérience */ |
JimmyAREM | 0:a89fe490343e | 314 | { |
JimmyAREM | 0:a89fe490343e | 315 | typeMovement = DEPLACEMENT_AVANT; |
JimmyAREM | 2:e0402d1e9ed5 | 316 | robot.ligne_droite_basique(26500); |
JimmyAREM | 0:a89fe490343e | 317 | robot.poussette(300); |
JimmyAREM | 0:a89fe490343e | 318 | updateAndWriteScore('0', '4', '0'); |
JimmyAREM | 0:a89fe490343e | 319 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 320 | |
JimmyAREM | 0:a89fe490343e | 321 | break; |
JimmyAREM | 0:a89fe490343e | 322 | } |
JimmyAREM | 0:a89fe490343e | 323 | case 1 : /* On pousse le palet bleu de la pente de l'accélérateur */ |
JimmyAREM | 0:a89fe490343e | 324 | { |
JimmyAREM | 0:a89fe490343e | 325 | typeMovement = DEPLACEMENT_ARRIERE; |
JimmyAREM | 0:a89fe490343e | 326 | robot.marche_arriere(-11200); |
JimmyAREM | 0:a89fe490343e | 327 | typeMovement = DEPLACEMENT_AVANT; |
JimmyAREM | 2:e0402d1e9ed5 | 328 | /*robot.rotation_rel(90); |
JimmyAREM | 2:e0402d1e9ed5 | 329 | robot.ligne_droite_basique(130000);*/ |
JimmyAREM | 4:7a9a9720e4d0 | 330 | robot.va_au_point(160000,23000,0); |
JimmyAREM | 0:a89fe490343e | 331 | brasDroit.activerBras(); |
JimmyAREM | 2:e0402d1e9ed5 | 332 | robot.ligne_droite_basique(14000); |
JimmyAREM | 0:a89fe490343e | 333 | brasDroit.desactiverBras(); |
JimmyAREM | 0:a89fe490343e | 334 | updateAndWriteScore('0', '5', '0'); |
JimmyAREM | 0:a89fe490343e | 335 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 336 | |
JimmyAREM | 0:a89fe490343e | 337 | break; |
JimmyAREM | 0:a89fe490343e | 338 | } |
JimmyAREM | 0:a89fe490343e | 339 | case 2 : /* On récupère le goldenium */ |
JimmyAREM | 0:a89fe490343e | 340 | { |
JimmyAREM | 2:e0402d1e9ed5 | 341 | robot.va_au_point(223000,30000,-90); |
JimmyAREM | 2:e0402d1e9ed5 | 342 | //robot.ligne_droite_basique(54500); |
JimmyAREM | 2:e0402d1e9ed5 | 343 | //robot.rotation_rel(-90); |
JimmyAREM | 0:a89fe490343e | 344 | pompe.activer(); |
JimmyAREM | 2:e0402d1e9ed5 | 345 | robot.poussette(1500); |
JimmyAREM | 0:a89fe490343e | 346 | typeMovement = DEPLACEMENT_ARRIERE; |
JimmyAREM | 0:a89fe490343e | 347 | robot.marche_arriere(-10000); |
JimmyAREM | 0:a89fe490343e | 348 | typeMovement = DEPLACEMENT_AVANT; |
JimmyAREM | 0:a89fe490343e | 349 | updateAndWriteScore('0', '8', '0'); |
JimmyAREM | 0:a89fe490343e | 350 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 351 | |
JimmyAREM | 0:a89fe490343e | 352 | break; |
JimmyAREM | 0:a89fe490343e | 353 | } |
JimmyAREM | 0:a89fe490343e | 354 | case 3 : /* On met le goldenium dans la balance */ |
JimmyAREM | 0:a89fe490343e | 355 | { |
JimmyAREM | 2:e0402d1e9ed5 | 356 | typeEvitement = ARRET; |
JimmyAREM | 4:7a9a9720e4d0 | 357 | robot.va_au_point(130700,116000,90); |
JimmyAREM | 2:e0402d1e9ed5 | 358 | robot.ligne_droite_basique(15000); |
JimmyAREM | 2:e0402d1e9ed5 | 359 | /*robot.rotation_rel(-90); |
JimmyAREM | 2:e0402d1e9ed5 | 360 | robot.ligne_droite_basique(93000); |
JimmyAREM | 0:a89fe490343e | 361 | robot.rotation_rel(-90); |
JimmyAREM | 2:e0402d1e9ed5 | 362 | robot.ligne_droite_basique(104000);*/ |
JimmyAREM | 2:e0402d1e9ed5 | 363 | robot.poussette(1500); |
JimmyAREM | 0:a89fe490343e | 364 | pompe.desactiver(); |
JimmyAREM | 0:a89fe490343e | 365 | wait(2); |
JimmyAREM | 0:a89fe490343e | 366 | updateAndWriteScore('1', '0', '4'); |
JimmyAREM | 0:a89fe490343e | 367 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 368 | |
JimmyAREM | 0:a89fe490343e | 369 | break; |
JimmyAREM | 0:a89fe490343e | 370 | } |
JimmyAREM | 0:a89fe490343e | 371 | case 4 : /* On pousse la zone de chaos dans la zone du redium */ |
JimmyAREM | 0:a89fe490343e | 372 | { |
JimmyAREM | 0:a89fe490343e | 373 | typeMovement = DEPLACEMENT_ARRIERE; |
JimmyAREM | 0:a89fe490343e | 374 | robot.marche_arriere(-8000); |
JimmyAREM | 0:a89fe490343e | 375 | typeMovement = DEPLACEMENT_AVANT; |
JimmyAREM | 4:7a9a9720e4d0 | 376 | robot.rotation_abs(-134); |
JimmyAREM | 0:a89fe490343e | 377 | brasPousserGauche.activerBras(); |
JimmyAREM | 0:a89fe490343e | 378 | brasPousserDroit.activerBras(); |
JimmyAREM | 4:7a9a9720e4d0 | 379 | robot.ligne_droite_basique(116000); |
JimmyAREM | 0:a89fe490343e | 380 | updateAndWriteScore('1', '2', '4'); |
JimmyAREM | 0:a89fe490343e | 381 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 382 | |
JimmyAREM | 0:a89fe490343e | 383 | break; |
JimmyAREM | 0:a89fe490343e | 384 | } |
JimmyAREM | 0:a89fe490343e | 385 | 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 | 386 | { |
JimmyAREM | 0:a89fe490343e | 387 | brasPousserGauche.desactiverBras(); |
JimmyAREM | 0:a89fe490343e | 388 | brasPousserDroit.desactiverBras(); |
JimmyAREM | 0:a89fe490343e | 389 | typeMovement = DEPLACEMENT_ARRIERE; |
JimmyAREM | 0:a89fe490343e | 390 | robot.marche_arriere(-8000); |
JimmyAREM | 0:a89fe490343e | 391 | typeMovement = DEPLACEMENT_AVANT; |
JimmyAREM | 4:7a9a9720e4d0 | 392 | robot.va_au_point(18000,178000,0); |
JimmyAREM | 2:e0402d1e9ed5 | 393 | robot.ligne_droite_basique(5000); |
JimmyAREM | 0:a89fe490343e | 394 | brasPousserGauche.activerBras(); |
JimmyAREM | 0:a89fe490343e | 395 | brasPousserDroit.activerBras(); |
JimmyAREM | 0:a89fe490343e | 396 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 397 | |
JimmyAREM | 0:a89fe490343e | 398 | break; |
JimmyAREM | 0:a89fe490343e | 399 | } |
JimmyAREM | 0:a89fe490343e | 400 | case 6 : /* On redescant de la pente */ |
JimmyAREM | 0:a89fe490343e | 401 | { |
JimmyAREM | 4:7a9a9720e4d0 | 402 | robot.pente_combo(0, brasPousserGauche,brasPousserDroit,pompe); |
JimmyAREM | 4:7a9a9720e4d0 | 403 | updateAndWriteScore('1', '3', '4'); |
JimmyAREM | 0:a89fe490343e | 404 | robot.vitesse_nulle_D(0); |
JimmyAREM | 0:a89fe490343e | 405 | robot.vitesse_nulle_G(0); |
JimmyAREM | 0:a89fe490343e | 406 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 407 | |
JimmyAREM | 0:a89fe490343e | 408 | break; |
JimmyAREM | 0:a89fe490343e | 409 | } |
JimmyAREM | 0:a89fe490343e | 410 | default: |
JimmyAREM | 0:a89fe490343e | 411 | { |
JimmyAREM | 0:a89fe490343e | 412 | robot.vitesse_nulle_D(0); |
JimmyAREM | 0:a89fe490343e | 413 | robot.vitesse_nulle_G(0); |
JimmyAREM | 0:a89fe490343e | 414 | motors_stop(); |
JimmyAREM | 0:a89fe490343e | 415 | pompe.desactiver(); |
JimmyAREM | 0:a89fe490343e | 416 | } |
JimmyAREM | 0:a89fe490343e | 417 | } |
JimmyAREM | 0:a89fe490343e | 418 | } |
JimmyAREM | 0:a89fe490343e | 419 | |
JimmyAREM | 0:a89fe490343e | 420 | //Arrêter les moteurs |
JimmyAREM | 0:a89fe490343e | 421 | robot.vitesse_nulle_D(0); |
JimmyAREM | 0:a89fe490343e | 422 | robot.vitesse_nulle_G(0); |
JimmyAREM | 0:a89fe490343e | 423 | motors_stop(); |
JimmyAREM | 0:a89fe490343e | 424 | pompe.desactiver(); |
JimmyAREM | 0:a89fe490343e | 425 | while(1); |
JimmyAREM | 0:a89fe490343e | 426 | } |
JimmyAREM | 0:a89fe490343e | 427 | |
JimmyAREM | 0:a89fe490343e | 428 | |
JimmyAREM | 2:e0402d1e9ed5 | 429 | /*-------- Fin Strategie classique violet -----------------------------------------------*/ |
JimmyAREM | 0:a89fe490343e | 430 | |
JimmyAREM | 0:a89fe490343e | 431 | |
JimmyAREM | 2:e0402d1e9ed5 | 432 | /*------- Debut Strategie classique Jaune -----------------------------------------------*/ |
JimmyAREM | 0:a89fe490343e | 433 | |
JimmyAREM | 0:a89fe490343e | 434 | |
JimmyAREM | 0:a89fe490343e | 435 | void strategieClassiqueJaune(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit) |
JimmyAREM | 0:a89fe490343e | 436 | { |
JimmyAREM | 0:a89fe490343e | 437 | write(bufferScore); |
JimmyAREM | 0:a89fe490343e | 438 | Timer tempsMatch; // timer en seconde |
JimmyAREM | 2:e0402d1e9ed5 | 439 | int etapeMatch = 0; |
JimmyAREM | 0:a89fe490343e | 440 | while(demarreur.getState() == false) |
JimmyAREM | 0:a89fe490343e | 441 | { |
JimmyAREM | 0:a89fe490343e | 442 | //on attend |
JimmyAREM | 0:a89fe490343e | 443 | //pc.printf("On attend le depart du Robot Thanos\n\r"); |
JimmyAREM | 0:a89fe490343e | 444 | } |
JimmyAREM | 1:785b37686185 | 445 | tempsArretMvt.attach(&arretSystem, 100.0); |
JimmyAREM | 3:4810f8316e38 | 446 | robot.initialisation(); |
JimmyAREM | 0:a89fe490343e | 447 | lancerTimerEcran(); |
JimmyAREM | 0:a89fe490343e | 448 | tempsMatch.start(); |
JimmyAREM | 5:aa69d0e17c4e | 449 | typeEvitement = ARRET; |
JimmyAREM | 0:a89fe490343e | 450 | while(tempsMatch <= TEMPSMATCH) |
JimmyAREM | 0:a89fe490343e | 451 | { |
JimmyAREM | 0:a89fe490343e | 452 | switch (etapeMatch) { |
JimmyAREM | 0:a89fe490343e | 453 | |
JimmyAREM | 0:a89fe490343e | 454 | case 0 : /* On active l'expérience */ |
JimmyAREM | 0:a89fe490343e | 455 | { |
JimmyAREM | 4:7a9a9720e4d0 | 456 | typeMovement = DEPLACEMENT_AVANT; |
JimmyAREM | 4:7a9a9720e4d0 | 457 | robot.ligne_droite_basique(26500); |
JimmyAREM | 0:a89fe490343e | 458 | robot.poussette(300); |
JimmyAREM | 0:a89fe490343e | 459 | updateAndWriteScore('0', '4', '0'); |
JimmyAREM | 0:a89fe490343e | 460 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 461 | |
JimmyAREM | 0:a89fe490343e | 462 | break; |
JimmyAREM | 0:a89fe490343e | 463 | } |
JimmyAREM | 0:a89fe490343e | 464 | case 1 : /* On pousse le palet bleu de la pente de l'accélérateur */ |
JimmyAREM | 0:a89fe490343e | 465 | { |
JimmyAREM | 4:7a9a9720e4d0 | 466 | typeMovement = DEPLACEMENT_ARRIERE; |
JimmyAREM | 0:a89fe490343e | 467 | robot.marche_arriere(-11200); |
JimmyAREM | 4:7a9a9720e4d0 | 468 | typeMovement = DEPLACEMENT_AVANT; |
JimmyAREM | 4:7a9a9720e4d0 | 469 | /*robot.rotation_rel(90); |
JimmyAREM | 4:7a9a9720e4d0 | 470 | robot.ligne_droite_basique(130000);*/ |
JimmyAREM | 4:7a9a9720e4d0 | 471 | robot.va_au_point(300000-160000,23000,180); |
JimmyAREM | 4:7a9a9720e4d0 | 472 | brasGauche.activerBras(); |
JimmyAREM | 4:7a9a9720e4d0 | 473 | robot.ligne_droite_basique(14000); |
JimmyAREM | 4:7a9a9720e4d0 | 474 | brasGauche .desactiverBras(); |
JimmyAREM | 0:a89fe490343e | 475 | updateAndWriteScore('0', '5', '0'); |
JimmyAREM | 0:a89fe490343e | 476 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 477 | |
JimmyAREM | 0:a89fe490343e | 478 | break; |
JimmyAREM | 0:a89fe490343e | 479 | } |
JimmyAREM | 0:a89fe490343e | 480 | case 2 : /* On récupère le goldenium */ |
JimmyAREM | 0:a89fe490343e | 481 | { |
JimmyAREM | 4:7a9a9720e4d0 | 482 | robot.va_au_point(300000-223000,30000,-90); |
JimmyAREM | 4:7a9a9720e4d0 | 483 | //robot.ligne_droite_basique(54500); |
JimmyAREM | 4:7a9a9720e4d0 | 484 | //robot.rotation_rel(-90); |
JimmyAREM | 0:a89fe490343e | 485 | pompe.activer(); |
JimmyAREM | 4:7a9a9720e4d0 | 486 | robot.poussette(1500); |
JimmyAREM | 4:7a9a9720e4d0 | 487 | typeMovement = DEPLACEMENT_ARRIERE; |
JimmyAREM | 0:a89fe490343e | 488 | robot.marche_arriere(-10000); |
JimmyAREM | 4:7a9a9720e4d0 | 489 | typeMovement = DEPLACEMENT_AVANT; |
JimmyAREM | 0:a89fe490343e | 490 | updateAndWriteScore('0', '8', '0'); |
JimmyAREM | 0:a89fe490343e | 491 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 492 | |
JimmyAREM | 0:a89fe490343e | 493 | break; |
JimmyAREM | 0:a89fe490343e | 494 | } |
JimmyAREM | 0:a89fe490343e | 495 | case 3 : /* On met le goldenium dans la balance */ |
JimmyAREM | 0:a89fe490343e | 496 | { |
JimmyAREM | 4:7a9a9720e4d0 | 497 | typeEvitement = ARRET; |
JimmyAREM | 4:7a9a9720e4d0 | 498 | robot.va_au_point(300000-130700,116000,90); |
JimmyAREM | 4:7a9a9720e4d0 | 499 | robot.ligne_droite_basique(15000); |
JimmyAREM | 4:7a9a9720e4d0 | 500 | /*robot.rotation_rel(-90); |
JimmyAREM | 4:7a9a9720e4d0 | 501 | robot.ligne_droite_basique(93000); |
JimmyAREM | 4:7a9a9720e4d0 | 502 | robot.rotation_rel(-90); |
JimmyAREM | 4:7a9a9720e4d0 | 503 | robot.ligne_droite_basique(104000);*/ |
JimmyAREM | 4:7a9a9720e4d0 | 504 | robot.poussette(1500); |
JimmyAREM | 0:a89fe490343e | 505 | pompe.desactiver(); |
JimmyAREM | 0:a89fe490343e | 506 | wait(2); |
JimmyAREM | 0:a89fe490343e | 507 | updateAndWriteScore('1', '0', '4'); |
JimmyAREM | 0:a89fe490343e | 508 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 509 | |
JimmyAREM | 0:a89fe490343e | 510 | break; |
JimmyAREM | 0:a89fe490343e | 511 | } |
JimmyAREM | 0:a89fe490343e | 512 | case 4 : /* On pousse la zone de chaos dans la zone du redium */ |
JimmyAREM | 0:a89fe490343e | 513 | { |
JimmyAREM | 4:7a9a9720e4d0 | 514 | typeMovement = DEPLACEMENT_ARRIERE; |
JimmyAREM | 0:a89fe490343e | 515 | robot.marche_arriere(-8000); |
JimmyAREM | 4:7a9a9720e4d0 | 516 | typeMovement = DEPLACEMENT_AVANT; |
JimmyAREM | 4:7a9a9720e4d0 | 517 | robot.rotation_abs(-44); |
JimmyAREM | 0:a89fe490343e | 518 | brasPousserGauche.activerBras(); |
JimmyAREM | 0:a89fe490343e | 519 | brasPousserDroit.activerBras(); |
JimmyAREM | 4:7a9a9720e4d0 | 520 | robot.ligne_droite_basique(116000); |
JimmyAREM | 0:a89fe490343e | 521 | updateAndWriteScore('1', '2', '4'); |
JimmyAREM | 0:a89fe490343e | 522 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 523 | |
JimmyAREM | 0:a89fe490343e | 524 | break; |
JimmyAREM | 0:a89fe490343e | 525 | } |
JimmyAREM | 0:a89fe490343e | 526 | 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 | 527 | { |
JimmyAREM | 0:a89fe490343e | 528 | brasPousserGauche.desactiverBras(); |
JimmyAREM | 0:a89fe490343e | 529 | brasPousserDroit.desactiverBras(); |
JimmyAREM | 4:7a9a9720e4d0 | 530 | typeMovement = DEPLACEMENT_ARRIERE; |
JimmyAREM | 4:7a9a9720e4d0 | 531 | robot.marche_arriere(-8000); |
JimmyAREM | 4:7a9a9720e4d0 | 532 | typeMovement = DEPLACEMENT_AVANT; |
JimmyAREM | 4:7a9a9720e4d0 | 533 | robot.va_au_point(300000-18000,178000,180); |
JimmyAREM | 4:7a9a9720e4d0 | 534 | robot.ligne_droite_basique(5000); |
JimmyAREM | 0:a89fe490343e | 535 | brasPousserGauche.activerBras(); |
JimmyAREM | 0:a89fe490343e | 536 | brasPousserDroit.activerBras(); |
JimmyAREM | 0:a89fe490343e | 537 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 538 | |
JimmyAREM | 0:a89fe490343e | 539 | break; |
JimmyAREM | 0:a89fe490343e | 540 | } |
JimmyAREM | 0:a89fe490343e | 541 | case 6 : /* On redescant de la pente */ |
JimmyAREM | 0:a89fe490343e | 542 | { |
JimmyAREM | 4:7a9a9720e4d0 | 543 | robot.pente_combo(180, brasPousserGauche,brasPousserDroit,pompe); |
JimmyAREM | 4:7a9a9720e4d0 | 544 | updateAndWriteScore('1', '3', '4'); |
JimmyAREM | 0:a89fe490343e | 545 | robot.vitesse_nulle_D(0); |
JimmyAREM | 0:a89fe490343e | 546 | robot.vitesse_nulle_G(0); |
JimmyAREM | 0:a89fe490343e | 547 | etapeMatch++; |
JimmyAREM | 0:a89fe490343e | 548 | |
JimmyAREM | 0:a89fe490343e | 549 | break; |
JimmyAREM | 0:a89fe490343e | 550 | } |
JimmyAREM | 0:a89fe490343e | 551 | default: |
JimmyAREM | 0:a89fe490343e | 552 | { |
JimmyAREM | 0:a89fe490343e | 553 | robot.vitesse_nulle_D(0); |
JimmyAREM | 0:a89fe490343e | 554 | robot.vitesse_nulle_G(0); |
JimmyAREM | 0:a89fe490343e | 555 | motors_stop(); |
JimmyAREM | 4:7a9a9720e4d0 | 556 | pompe.desactiver(); |
JimmyAREM | 0:a89fe490343e | 557 | } |
JimmyAREM | 0:a89fe490343e | 558 | } |
JimmyAREM | 0:a89fe490343e | 559 | } |
JimmyAREM | 0:a89fe490343e | 560 | |
JimmyAREM | 0:a89fe490343e | 561 | //Arrêter les moteurs |
JimmyAREM | 0:a89fe490343e | 562 | robot.vitesse_nulle_D(0); |
JimmyAREM | 0:a89fe490343e | 563 | robot.vitesse_nulle_G(0); |
JimmyAREM | 0:a89fe490343e | 564 | motors_stop(); |
JimmyAREM | 4:7a9a9720e4d0 | 565 | pompe.desactiver(); |
JimmyAREM | 0:a89fe490343e | 566 | while(1); |
JimmyAREM | 2:e0402d1e9ed5 | 567 | } |
JimmyAREM | 2:e0402d1e9ed5 | 568 | |
JimmyAREM | 2:e0402d1e9ed5 | 569 | /*--------- Fin Strategie classique jaune --------------------------------------------*/ |
JimmyAREM | 2:e0402d1e9ed5 | 570 | |
JimmyAREM | 2:e0402d1e9ed5 | 571 | |
JimmyAREM | 2:e0402d1e9ed5 | 572 | /*--------- Debut Strategie RCVA violet ----------------------------------------------*/ |
JimmyAREM | 2:e0402d1e9ed5 | 573 | |
JimmyAREM | 2:e0402d1e9ed5 | 574 | |
JimmyAREM | 2:e0402d1e9ed5 | 575 | void strategieRCVAViolet(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit) |
JimmyAREM | 2:e0402d1e9ed5 | 576 | { |
JimmyAREM | 2:e0402d1e9ed5 | 577 | write(bufferScore); |
JimmyAREM | 2:e0402d1e9ed5 | 578 | Timer tempsMatch; // timer en seconde |
JimmyAREM | 2:e0402d1e9ed5 | 579 | int etapeMatch = 0; |
JimmyAREM | 2:e0402d1e9ed5 | 580 | while(demarreur.getState() == false) |
JimmyAREM | 2:e0402d1e9ed5 | 581 | { |
JimmyAREM | 2:e0402d1e9ed5 | 582 | //on attend |
JimmyAREM | 2:e0402d1e9ed5 | 583 | //pc.printf("On attend le depart du Robot Thanos\n\r"); |
JimmyAREM | 2:e0402d1e9ed5 | 584 | } |
JimmyAREM | 2:e0402d1e9ed5 | 585 | tempsArretMvt.attach(&arretSystem, TEMPSMATCH); |
JimmyAREM | 3:4810f8316e38 | 586 | robot.initialisation(); |
JimmyAREM | 2:e0402d1e9ed5 | 587 | lancerTimerEcran(); |
JimmyAREM | 2:e0402d1e9ed5 | 588 | tempsMatch.start(); |
JimmyAREM | 2:e0402d1e9ed5 | 589 | typeEvitement = ARRET; |
JimmyAREM | 2:e0402d1e9ed5 | 590 | } |
JimmyAREM | 2:e0402d1e9ed5 | 591 | |
JimmyAREM | 2:e0402d1e9ed5 | 592 | |
JimmyAREM | 2:e0402d1e9ed5 | 593 | /*-------- Fin Strategie RCVA violet -----------------------------------------------*/ |
JimmyAREM | 2:e0402d1e9ed5 | 594 | |
JimmyAREM | 2:e0402d1e9ed5 | 595 | |
JimmyAREM | 2:e0402d1e9ed5 | 596 | /*-------- Debut Strategie RCVA jaune -----------------------------------------------*/ |
JimmyAREM | 2:e0402d1e9ed5 | 597 | |
JimmyAREM | 2:e0402d1e9ed5 | 598 | void strategieRCVAJaune(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit) |
JimmyAREM | 2:e0402d1e9ed5 | 599 | { |
JimmyAREM | 2:e0402d1e9ed5 | 600 | write(bufferScore); |
JimmyAREM | 2:e0402d1e9ed5 | 601 | Timer tempsMatch; // timer en seconde |
JimmyAREM | 2:e0402d1e9ed5 | 602 | int etapeMatch = 0; |
JimmyAREM | 2:e0402d1e9ed5 | 603 | while(demarreur.getState() == false) |
JimmyAREM | 2:e0402d1e9ed5 | 604 | { |
JimmyAREM | 2:e0402d1e9ed5 | 605 | //on attend |
JimmyAREM | 2:e0402d1e9ed5 | 606 | //pc.printf("On attend le depart du Robot Thanos\n\r"); |
JimmyAREM | 2:e0402d1e9ed5 | 607 | } |
JimmyAREM | 2:e0402d1e9ed5 | 608 | tempsArretMvt.attach(&arretSystem, TEMPSMATCH); |
JimmyAREM | 3:4810f8316e38 | 609 | robot.initialisation(); |
JimmyAREM | 2:e0402d1e9ed5 | 610 | lancerTimerEcran(); |
JimmyAREM | 2:e0402d1e9ed5 | 611 | tempsMatch.start(); |
JimmyAREM | 2:e0402d1e9ed5 | 612 | typeEvitement = ARRET; |
JimmyAREM | 2:e0402d1e9ed5 | 613 | } |
JimmyAREM | 2:e0402d1e9ed5 | 614 | |
JimmyAREM | 2:e0402d1e9ed5 | 615 | |
JimmyAREM | 2:e0402d1e9ed5 | 616 | /*-------- Fin Strategie RCVA jaune --------------------------------------------------*/ |
JimmyAREM | 2:e0402d1e9ed5 | 617 | |
JimmyAREM | 2:e0402d1e9ed5 | 618 | /*-------- Debut Strategie humiliation violet ---------------------------------------*/ |
JimmyAREM | 2:e0402d1e9ed5 | 619 | |
JimmyAREM | 2:e0402d1e9ed5 | 620 | void strategieHumiliationViolet(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit) |
JimmyAREM | 2:e0402d1e9ed5 | 621 | { |
JimmyAREM | 2:e0402d1e9ed5 | 622 | write(bufferScore); |
JimmyAREM | 2:e0402d1e9ed5 | 623 | Timer tempsMatch; // timer en seconde |
JimmyAREM | 2:e0402d1e9ed5 | 624 | int etapeMatch = 0; |
JimmyAREM | 2:e0402d1e9ed5 | 625 | while(demarreur.getState() == false) |
JimmyAREM | 2:e0402d1e9ed5 | 626 | { |
JimmyAREM | 2:e0402d1e9ed5 | 627 | //on attend |
JimmyAREM | 2:e0402d1e9ed5 | 628 | //pc.printf("On attend le depart du Robot Thanos\n\r"); |
JimmyAREM | 2:e0402d1e9ed5 | 629 | } |
JimmyAREM | 2:e0402d1e9ed5 | 630 | tempsArretMvt.attach(&arretSystem, TEMPSMATCH); |
JimmyAREM | 3:4810f8316e38 | 631 | robot.initialisation(); |
JimmyAREM | 2:e0402d1e9ed5 | 632 | lancerTimerEcran(); |
JimmyAREM | 2:e0402d1e9ed5 | 633 | tempsMatch.start(); |
JimmyAREM | 2:e0402d1e9ed5 | 634 | typeEvitement = ARRET; |
JimmyAREM | 2:e0402d1e9ed5 | 635 | } |
JimmyAREM | 2:e0402d1e9ed5 | 636 | |
JimmyAREM | 2:e0402d1e9ed5 | 637 | |
JimmyAREM | 2:e0402d1e9ed5 | 638 | /*--------- Fin Strategie humiliation violet ----------------------------------------*/ |
JimmyAREM | 2:e0402d1e9ed5 | 639 | |
JimmyAREM | 2:e0402d1e9ed5 | 640 | |
JimmyAREM | 2:e0402d1e9ed5 | 641 | /*-------- Debut Strategie humiliation jaune ----------------------------------------*/ |
JimmyAREM | 2:e0402d1e9ed5 | 642 | |
JimmyAREM | 2:e0402d1e9ed5 | 643 | void strategieHumiliationJaune(deplacement robot, Pompe pompe, Demarreur demarreur, Bras brasGauche, Bras brasDroit, BrasPousser brasPousserGauche, BrasPousser brasPousserDroit) |
JimmyAREM | 2:e0402d1e9ed5 | 644 | { |
JimmyAREM | 2:e0402d1e9ed5 | 645 | write(bufferScore); |
JimmyAREM | 2:e0402d1e9ed5 | 646 | Timer tempsMatch; // timer en seconde |
JimmyAREM | 2:e0402d1e9ed5 | 647 | int etapeMatch = 0; |
JimmyAREM | 2:e0402d1e9ed5 | 648 | while(demarreur.getState() == false) |
JimmyAREM | 2:e0402d1e9ed5 | 649 | { |
JimmyAREM | 2:e0402d1e9ed5 | 650 | //on attend |
JimmyAREM | 2:e0402d1e9ed5 | 651 | //pc.printf("On attend le depart du Robot Thanos\n\r"); |
JimmyAREM | 2:e0402d1e9ed5 | 652 | } |
JimmyAREM | 2:e0402d1e9ed5 | 653 | tempsArretMvt.attach(&arretSystem, TEMPSMATCH); |
JimmyAREM | 3:4810f8316e38 | 654 | robot.initialisation(); |
JimmyAREM | 2:e0402d1e9ed5 | 655 | lancerTimerEcran(); |
JimmyAREM | 2:e0402d1e9ed5 | 656 | tempsMatch.start(); |
JimmyAREM | 2:e0402d1e9ed5 | 657 | typeEvitement = ARRET; |
JimmyAREM | 2:e0402d1e9ed5 | 658 | } |
JimmyAREM | 2:e0402d1e9ed5 | 659 | |
JimmyAREM | 2:e0402d1e9ed5 | 660 | |
JimmyAREM | 2:e0402d1e9ed5 | 661 | /*--------- Fin Strategie humiliation jaune -----------------------------------------*/ |
JimmyAREM | 2:e0402d1e9ed5 | 662 | |
JimmyAREM | 2:e0402d1e9ed5 | 663 | |
JimmyAREM | 2:e0402d1e9ed5 | 664 | |
JimmyAREM | 2:e0402d1e9ed5 | 665 |