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