Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed SerialHalfDuplex SDFileSystem DISCO-F469NI_portrait liaison_Bluetooth ident_crac
Diff: Strategie/Strategie.cpp
- Revision:
- 2:8d8e2cf798a3
- Parent:
- 1:116040d14164
- Child:
- 4:88431b537477
--- a/Strategie/Strategie.cpp Fri Apr 15 10:49:40 2016 +0000
+++ b/Strategie/Strategie.cpp Fri Apr 15 16:43:35 2016 +0000
@@ -1,6 +1,6 @@
#include "Strategie.h"
-E_stratGameEtat gameEtat = ETAT_CHECK_CARTE_SCREEN;
+E_stratGameEtat gameEtat = ETAT_GAME_INIT;//ETAT_CHECK_CARTE_SCREEN;
E_stratGameEtat lastEtat = ETAT_CHECK_CARTE_SCREEN;
unsigned char screenChecktry = 0;
Timer cartesCheker;//Le timer pour le timeout de la vérification des cartes
@@ -21,7 +21,7 @@
unsigned char checkCurrent = 0;
unsigned char countAliveCard = 0;
-unsigned char InversStrat = 0;//Si à 1, indique que l'on part de l'autre cote de la table(inversion des Y)
+unsigned char InversStrat = 1;//Si à 1, indique que l'on part de l'autre cote de la table(inversion des Y)
void chronometre_ISR (void)
@@ -239,6 +239,9 @@
localData2 = instruction.arg3 - theta_robot;
}
}
+ if(InversStrat == 1) {
+ localData2 = -localData2;
+ }
Rotate(localData2);
waitingAckID = ASSERVISSEMENT_ROTATION;
waitingAckFrom = ACKNOWLEDGE_MOTEUR;
@@ -249,7 +252,14 @@
} else {
localData1 = 1;
}
- GoToPosition(instruction.arg1,instruction.arg2,instruction.arg3,localData1);
+
+ if(InversStrat == 1) {
+ //localData2 = 360 - instruction.arg3
+ localData3 = 3000 - instruction.arg2;//Inversion du Y
+ } else {
+ localData3 = instruction.arg2;
+ }
+ GoToPosition(instruction.arg1,localData3,instruction.arg3,localData1);
waitingAckID = ASSERVISSEMENT_XYT;
waitingAckFrom = ACKNOWLEDGE_MOTEUR;
break;
@@ -263,7 +273,7 @@
//L'action est spécifique
} else {
//C'est un AX12 qu'il faut bouger
- AX12_setGoal(instruction.arg1,instruction.arg3,instruction.arg2);
+ AX12_setGoal(instruction.arg1,instruction.arg3/10,instruction.arg2);
AX12_enchainement++;
}
waitingAckFrom = 0;
@@ -454,6 +464,19 @@
case SERVO_AX12_DONE:
AX12_notifyCANEnd(((unsigned short)(msgRxBuffer[FIFO_lecture].data[0])));
break;
+ case ECRAN_CHOICE_COLOR://Choix de la couleur
+ if(gameEtat == ETAT_CONFIG) {
+ if(msgRxBuffer[FIFO_lecture].data[0] == 0)
+ InversStrat = 0;//Pas d'inversion de la couleur
+ else
+ InversStrat = 1;//Inversion de la couleur
+ }
+ break;
+ case ECRAN_CHOICE_STRAT://Choix du fichier de stratégie à utiliser
+ if(gameEtat == ETAT_CONFIG) {
+
+ }
+ break;
}
FIFO_lecture=(FIFO_lecture+1)%SIZE_FIFO;