m
Revision 4:3d12e141c30f, committed 2019-05-29
- Comitter:
- GuillaumeCH
- Date:
- Wed May 29 06:34:59 2019 +0000
- Parent:
- 3:4810f8316e38
- Commit message:
- lmlmlm
Changed in this revision
Strategie.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 4810f8316e38 -r 3d12e141c30f Strategie.cpp --- a/Strategie.cpp Sun May 26 14:57:47 2019 +0000 +++ b/Strategie.cpp Wed May 29 06:34:59 2019 +0000 @@ -193,7 +193,7 @@ //pc.printf("On attend le depart du Robot Thanos\n\r"); } tempsArretMvt.attach(&arretSystem, TEMPSMATCH); - robot.initialisation(); + //robot.initialisation(); lancerTimerEcran(); tempsMatch.start(); typeEvitement = ARRET; @@ -216,7 +216,7 @@ //pc.printf("On attend le depart du Robot Thanos\n\r"); } tempsArretMvt.attach(&arretSystem, TEMPSMATCH); - robot.initialisation(); + //robot.initialisation(); lancerTimerEcran(); tempsMatch.start(); while(tempsMatch <= TEMPSMATCH) @@ -240,7 +240,7 @@ typeMovement = DEPLACEMENT_AVANT; /*robot.rotation_rel(90); robot.ligne_droite_basique(130000);*/ - robot.va_au_point(160000,24300,0); + robot.va_au_point(160000,23000,0); brasDroit.activerBras(); robot.ligne_droite_basique(14000); brasDroit.desactiverBras(); @@ -267,7 +267,7 @@ case 3 : /* On met le goldenium dans la balance */ { typeEvitement = ARRET; - robot.va_au_point(130700,115000,90); + robot.va_au_point(130700,116000,90); robot.ligne_droite_basique(15000); /*robot.rotation_rel(-90); robot.ligne_droite_basique(93000); @@ -286,10 +286,10 @@ typeMovement = DEPLACEMENT_ARRIERE; robot.marche_arriere(-8000); typeMovement = DEPLACEMENT_AVANT; - robot.rotation_rel(130); + robot.rotation_abs(-134); brasPousserGauche.activerBras(); brasPousserDroit.activerBras(); - robot.ligne_droite_basique(117500); + robot.ligne_droite_basique(116000); updateAndWriteScore('1', '2', '4'); etapeMatch++; @@ -302,36 +302,18 @@ typeMovement = DEPLACEMENT_ARRIERE; robot.marche_arriere(-8000); typeMovement = DEPLACEMENT_AVANT; - /*robot.rotation_rel(-90); - robot.ligne_droite_basique(45000); - robot.rotation_rel(-42); - robot.ligne_droite_basique(86000); - robot.rotation_rel(-90);*/ - robot.va_au_point(18000,179500,0); + robot.va_au_point(15000,178000,0); robot.ligne_droite_basique(5000); brasPousserGauche.activerBras(); brasPousserDroit.activerBras(); - //mettre la fonction pente - - /*robot.commande_vitesse(30,30); - wait(7); - robot.commande_vitesse(150,150); - wait(3);*/ - updateAndWriteScore('1', '3', '4'); etapeMatch++; break; } case 6 : /* On redescant de la pente */ { - pompe.activer(); - robot.pente_combo(brasPousserGauche,brasPousserDroit,pompe); - /*robot.commande_vitesse(-30,-30); - wait(2); - brasPousserGauche.desactiverBras(); - brasPousserDroit.desactiverBras(); - robot.commande_vitesse(-50,-50); - wait_ms(10000);*/ + robot.pente_combo(0, brasPousserGauche,brasPousserDroit,pompe); + updateAndWriteScore('1', '3', '4'); robot.vitesse_nulle_D(0); robot.vitesse_nulle_G(0); etapeMatch++; @@ -374,16 +356,19 @@ //pc.printf("On attend le depart du Robot Thanos\n\r"); } tempsArretMvt.attach(&arretSystem, 100.0); - robot.initialisation(); + //robot.initialisation(); lancerTimerEcran(); tempsMatch.start(); + typeEvitement = ARRET; + while(tempsMatch <= TEMPSMATCH) { switch (etapeMatch) { case 0 : /* On active l'expérience */ { - robot.ligne_droite_basique(25000); + typeMovement = DEPLACEMENT_AVANT; + robot.ligne_droite_basique(26500); robot.poussette(300); updateAndWriteScore('0', '4', '0'); etapeMatch++; @@ -392,12 +377,15 @@ } case 1 : /* On pousse le palet bleu de la pente de l'accélérateur */ { + typeMovement = DEPLACEMENT_ARRIERE; robot.marche_arriere(-11200); - robot.rotation_rel(-90); - robot.ligne_droite_basique(130000); - brasDroit.activerBras(); - robot.ligne_droite_basique(16000); - brasDroit.desactiverBras(); + typeMovement = DEPLACEMENT_AVANT; + /*robot.rotation_rel(90); + robot.ligne_droite_basique(130000);*/ + robot.va_au_point(300000-160000,23000,180); + brasGauche.activerBras(); + robot.ligne_droite_basique(14000); + brasGauche .desactiverBras(); updateAndWriteScore('0', '5', '0'); etapeMatch++; @@ -405,11 +393,14 @@ } case 2 : /* On récupère le goldenium */ { - robot.ligne_droite_basique(54500); - robot.rotation_rel(90); + robot.va_au_point(300000-223000,30000,-90); + //robot.ligne_droite_basique(54500); + //robot.rotation_rel(-90); pompe.activer(); - robot.poussette(1000); + robot.poussette(1500); + typeMovement = DEPLACEMENT_ARRIERE; robot.marche_arriere(-10000); + typeMovement = DEPLACEMENT_AVANT; updateAndWriteScore('0', '8', '0'); etapeMatch++; @@ -417,12 +408,14 @@ } case 3 : /* On met le goldenium dans la balance */ { - - robot.rotation_rel(90); - robot.ligne_droite_basique(96000); - robot.rotation_rel(90); - robot.ligne_droite_basique(104000); - robot.poussette(1000); + typeEvitement = ARRET; + robot.va_au_point(300000-130700,116000,90); + robot.ligne_droite_basique(15000); + /*robot.rotation_rel(-90); + robot.ligne_droite_basique(93000); + robot.rotation_rel(-90); + robot.ligne_droite_basique(104000);*/ + robot.poussette(1500); pompe.desactiver(); wait(2); updateAndWriteScore('1', '0', '4'); @@ -432,12 +425,13 @@ } case 4 : /* On pousse la zone de chaos dans la zone du redium */ { - + typeMovement = DEPLACEMENT_ARRIERE; robot.marche_arriere(-8000); - robot.rotation_rel(-135); + typeMovement = DEPLACEMENT_AVANT; + robot.rotation_abs(-44); brasPousserGauche.activerBras(); brasPousserDroit.activerBras(); - robot.ligne_droite_basique(112500); + robot.ligne_droite_basique(116000); updateAndWriteScore('1', '2', '4'); etapeMatch++; @@ -447,31 +441,21 @@ { brasPousserGauche.desactiverBras(); brasPousserDroit.desactiverBras(); - /*robot.marche_arriere(-8000); - robot.rotation_rel(-90); - robot.ligne_droite(45000); - robot.rotation_rel(-42); - robot.ligne_droite(86000);*/ - robot.rotation_rel(90); + typeMovement = DEPLACEMENT_ARRIERE; + robot.marche_arriere(-8000); + typeMovement = DEPLACEMENT_AVANT; + robot.va_au_point(300000-18000,178000,180); + robot.ligne_droite_basique(5000); brasPousserGauche.activerBras(); brasPousserDroit.activerBras(); - robot.commande_vitesse(30,30); - wait(7); - robot.commande_vitesse(150,150); - wait(3); - updateAndWriteScore('1', '3', '4'); etapeMatch++; break; } case 6 : /* On redescant de la pente */ { - robot.commande_vitesse(-30,-30); - wait(2); - brasPousserGauche.desactiverBras(); - brasPousserDroit.desactiverBras(); - robot.commande_vitesse(-50,-50); - wait_ms(10000); + robot.pente_combo(180, brasPousserGauche,brasPousserDroit,pompe); + updateAndWriteScore('1', '3', '4'); robot.vitesse_nulle_D(0); robot.vitesse_nulle_G(0); etapeMatch++; @@ -483,6 +467,7 @@ robot.vitesse_nulle_D(0); robot.vitesse_nulle_G(0); motors_stop(); + pompe.desactiver(); } } } @@ -491,7 +476,9 @@ robot.vitesse_nulle_D(0); robot.vitesse_nulle_G(0); motors_stop(); + pompe.desactiver(); while(1); + } /*--------- Fin Strategie classique jaune --------------------------------------------*/ @@ -504,17 +491,134 @@ { write(bufferScore); Timer tempsMatch; // timer en seconde - int etapeMatch = 0; + int etapeMatch = 3; while(demarreur.getState() == false) { //on attend //pc.printf("On attend le depart du Robot Thanos\n\r"); } tempsArretMvt.attach(&arretSystem, TEMPSMATCH); - robot.initialisation(); + //robot.initialisation(); lancerTimerEcran(); tempsMatch.start(); typeEvitement = ARRET; + while(tempsMatch <= TEMPSMATCH) + { + switch (etapeMatch) { + + case 0 : /* On active l'expérience */ + { + typeMovement = DEPLACEMENT_AVANT; + robot.ligne_droite_basique(26500); + robot.poussette(300); + updateAndWriteScore('0', '4', '0'); + etapeMatch++; + + break; + } + case 1 : /* On pousse le palet bleu de la pente de l'accélérateur */ + { + typeMovement = DEPLACEMENT_ARRIERE; + robot.marche_arriere(-11200); + typeMovement = DEPLACEMENT_AVANT; + /*robot.rotation_rel(90); + robot.ligne_droite_basique(130000);*/ + robot.va_au_point(160000,23000,0); + brasDroit.activerBras(); + robot.ligne_droite_basique(14000); + brasDroit.desactiverBras(); + updateAndWriteScore('0', '5', '0'); + etapeMatch++; + + break; + } + case 2 : /* On récupère le goldenium */ + { + robot.va_au_point(223000,30000,-90); + //robot.ligne_droite_basique(54500); + //robot.rotation_rel(-90); + pompe.activer(); + robot.poussette(1500); + typeMovement = DEPLACEMENT_ARRIERE; + robot.marche_arriere(-10000); + typeMovement = DEPLACEMENT_AVANT; + updateAndWriteScore('0', '8', '0'); + etapeMatch++; + + break; + } + case 3 : /* On met le goldenium dans la balance */ + { + typeEvitement = ARRET; + robot.va_au_point(225000,105000,180); + brasPousserGauche.activerBras(); + brasPousserDroit.activerBras(); + robot.va_au_point(45000,105000,180); + brasPousserGauche.desactiverBras(); + brasPousserDroit.desactiverBras(); + robot.marche_arriere(7000); + + updateAndWriteScore('1', '0', '4'); + etapeMatch++; + + break; + } + case 4 : /* On pousse la zone de chaos dans la zone du redium */ + { + robot.va_au_point(15000,178000,0); + /*typeMovement = DEPLACEMENT_ARRIERE; + robot.marche_arriere(-8000); + typeMovement = DEPLACEMENT_AVANT; + robot.rotation_abs(-134); + brasPousserGauche.activerBras(); + brasPousserDroit.activerBras(); + robot.ligne_droite_basique(116000);*/ + updateAndWriteScore('1', '2', '4'); + etapeMatch++; + + break; + } + case 5 : /* On pousse le palet vert ou le vert et les deux bleus dans la balance en passant par la pente */ + { + /*brasPousserGauche.desactiverBras(); + brasPousserDroit.desactiverBras(); + typeMovement = DEPLACEMENT_ARRIERE; + robot.marche_arriere(-8000); + typeMovement = DEPLACEMENT_AVANT; + robot.va_au_point(15000,178000,0); + robot.ligne_droite_basique(5000); + brasPousserGauche.activerBras(); + brasPousserDroit.activerBras(); + etapeMatch++;*/ + + break; + } + case 6 : /* On redescant de la pente */ + { + robot.pente_combo(0, brasPousserGauche,brasPousserDroit,pompe); + updateAndWriteScore('1', '3', '4'); + robot.vitesse_nulle_D(0); + robot.vitesse_nulle_G(0); + etapeMatch++; + + break; + } + default: + { + robot.vitesse_nulle_D(0); + robot.vitesse_nulle_G(0); + motors_stop(); + pompe.desactiver(); + } + } + } + + //Arrêter les moteurs + robot.vitesse_nulle_D(0); + robot.vitesse_nulle_G(0); + motors_stop(); + pompe.desactiver(); + while(1); }