Premier essai concluant de la séquence départ + empile
This commit is contained in:
parent
74629edaa0
commit
598dbd2391
@ -344,7 +344,7 @@ void gestion_match(){
|
||||
}
|
||||
delay(200);
|
||||
IHM_attente_match(&couleur);
|
||||
tirette_enlevee = 1;
|
||||
tirette_enlevee = 0;
|
||||
|
||||
index_Maitre = MATCH_EN_COURS;
|
||||
|
||||
@ -439,9 +439,10 @@ void IHM_attente_match(int * couleur){
|
||||
enum etat_action_t Strategie(int couleur){
|
||||
static enum {
|
||||
STRAT_RECULE_BANDEROLE, // Deplacement relatif
|
||||
STRAT_ALLER_GRADINS_1_A, // Déplacement absolu
|
||||
STRAT_ALLER_GRADINS_1_B, // Déplacement relatif
|
||||
STRAT_ALLER_GRADINS_1_A, // Déplacement relatif
|
||||
STRAT_ALLER_GRADINS_1_B, // Cherche gradin
|
||||
STRAT_ALLER_GRADINS_1_C, // Déplacement relatif
|
||||
STRAT_DEPOSE_GRADIN_1, // Empile gradin
|
||||
STRAT_ALLER_PREPA_BACKSTAGE, // Déplacement absolu
|
||||
STRAT_ALLER_BACKSTAGE // Déplacement relatif
|
||||
|
||||
@ -453,7 +454,7 @@ enum etat_action_t Strategie(int couleur){
|
||||
switch(etat_strategie){
|
||||
case STRAT_RECULE_BANDEROLE:
|
||||
// Déplacement en X
|
||||
translation_x_mm = -450;
|
||||
translation_x_mm = -300;
|
||||
translation_y_mm = 0;
|
||||
rotation_rad = 0;
|
||||
etat_action = deplacement_relatif(translation_x_mm, translation_y_mm, rotation_rad, 1);
|
||||
@ -463,28 +464,35 @@ enum etat_action_t Strategie(int couleur){
|
||||
break;
|
||||
|
||||
case STRAT_ALLER_GRADINS_1_A:
|
||||
translation_x_mm = -500;
|
||||
rotation_rad = 0;
|
||||
if(couleur == COULEUR_JAUNE){
|
||||
translation_x_mm = 0;
|
||||
translation_y_mm = 450;
|
||||
rotation_rad = 0;
|
||||
etat_action = deplacement_absolu(800, 800, -M_PI/2., 1);
|
||||
translation_y_mm = -500;
|
||||
}else{
|
||||
etat_action = deplacement_absolu(3000 - 800, 800, -M_PI/2., 1);
|
||||
translation_y_mm = 500;
|
||||
}
|
||||
etat_action = deplacement_relatif(translation_x_mm, translation_y_mm, rotation_rad, 1);
|
||||
if(etat_action == ACTION_TERMINEE){
|
||||
etat_strategie = STRAT_ALLER_GRADINS_1_B;
|
||||
}
|
||||
break;
|
||||
|
||||
case STRAT_ALLER_GRADINS_1_B:
|
||||
etat_action = deplacement_relatif(300, 0, 0, 0);
|
||||
etat_action = gradin_approche();
|
||||
if(etat_action == ACTION_TERMINEE){
|
||||
etat_strategie = STRAT_ALLER_GRADINS_1_C;
|
||||
}
|
||||
break;
|
||||
|
||||
case STRAT_ALLER_GRADINS_1_C:
|
||||
etat_action = deplacement_relatif(-250, 0, 0, 0);
|
||||
etat_action = deplacement_relatif(120, 0, 0, 0);
|
||||
if(etat_action == ACTION_TERMINEE){
|
||||
etat_strategie = STRAT_DEPOSE_GRADIN_1;
|
||||
}
|
||||
break;
|
||||
|
||||
case STRAT_DEPOSE_GRADIN_1:
|
||||
etat_action = actionneur_action(ACTIONNEUR_EMPILE);
|
||||
if(etat_action == ACTION_TERMINEE){
|
||||
etat_strategie = STRAT_ALLER_PREPA_BACKSTAGE;
|
||||
}
|
||||
|
@ -8,6 +8,7 @@
|
||||
#define ACTIONNEUR_DEPLACEMENT 2
|
||||
#define ACTIONNEUR_PREPARE_PRISE 3
|
||||
#define ACTIONNEUR_PRISE 4
|
||||
#define ACTIONNEUR_EMPILE 5
|
||||
|
||||
struct com_actionneur_t{
|
||||
char demande_action, action_terminee;
|
||||
|
Loading…
Reference in New Issue
Block a user