Alexandre Salconi-Denis
/
ProjetOctopode
Programme de contrôle de l'octopode 4DOF, Theraphosa-Salconi.
CtrlBridge
- fonction quelquonque pour communiquer avec les module
- fonction quelquonque pour faire des recherche dans les module dispo
- autre fonction pour jouer avec MemRegistre
Version 1.2.0
- Ajout d'un mode de simulation pour tester le code avec seulement un contrôleur stm32
labyrinthe.h
- Committer:
- salco
- Date:
- 2017-01-31
- Revision:
- 41:0b5c14dda54a
- Parent:
- 39:34d7802e8d15
File content as of revision 41:0b5c14dda54a:
/** * @file labyrinthe.h * @brief Regroupement de fonction pour enregistrer le millieu en 2D. * @author Salco * @version 2.00 * @date 11 mars 2015 */ #ifndef LABYRINTHE_H #define LABYRINTHE_H #define DEFAULTLABLEIGHT 4 #define DEBUGLABCOORD 0 #define DEBUGLABSEARCHCOORD 0 #include "mbed.h" #include "debug.h" #include "settingDebug.h" #include <string> #define UP 1 #define DOWN 2 #define LEFT 3 #define RIGHT 4 /*#define VIDE 3 #define EXPLORER 1 #define MUR 2 #define PAS_EXPLORER 0*/ // 1 tuile == 4 byte class Labyrinthe { signed char m_posX,m_posY; char direction; string mapDuLabyrinthe; public: enum coordoner_t{ /* C7,C8,C9 */ /* C4,C5,C6 */ /* C1,C2,C3 */ unset = -1, C1 = 1, C2 = 2, C3 = 3, C4 = 4, C5 = 5, C6 = 6, C7 = 7, C8 = 8, C9 = 9 }; enum case_t{ //error =-1, pasExplorer = 0, explorer = 1, mur = 2, vide = 3 }; Labyrinthe(); ~Labyrinthe(); char getDirection(){return direction;} void setDirection(char dir){direction= dir;} signed char getX(void){return m_posX;} void setX(signed char x){m_posX = x;} signed char getY(void){return m_posY;} void setY(signed char y){m_posY = y;} void goUp(void){m_posY++;} void goDown(void){m_posY--;} void goLeft(void){m_posX--;} void goRight(void){m_posX++;} void moveFoward(void){moveFoward(direction);} void moveFoward(char dir); void moveBackward(void){moveBackward(direction);} void moveBackward(char dir); void moveToLeft(void){moveToLeft(direction);} void moveToLeft(char dir); void moveToRight(void){moveToRight(direction);} void moveToRight(char dir); void getXY_Foward(signed char &x, signed char &y){getXY_Foward(x,y,direction);} void getXY_Foward(signed char &x, signed char &y,char dir); void getXY_Backward(signed char &x, signed char &y){getXY_Backward(x,y,direction);} void getXY_Backward(signed char &x, signed char &y,char dir); void getXY_Left(signed char &x, signed char &y){getXY_Left(x,y,direction);} void getXY_Left(signed char &x, signed char &y, char dir); void getXY_Right(signed char &x, signed char &y){getXY_Right(x,y,direction);} void getXY_Right(signed char &x, signed char &y, char dir); void turnBack(void); void turnLeft(void); void turnRight(void); char caseToChar(case_t value); case_t getC_Foward(void){return getC_Foward(direction);} case_t getC_Foward(char dir); case_t getC_Backward(void){return getC_Backward(direction);} case_t getC_Backward(char dir); case_t getC_ToLeft(void){return getC_ToLeft(direction);} case_t getC_ToLeft(char dir); case_t getC_ToRight(void){return getC_ToRight(direction);} case_t getC_ToRight(char dir); case_t getC(coordoner_t cX); case_t getC(signed char x, signed char y, coordoner_t cX); case_t getC(signed char x, signed char y); void setC(case_t value, signed char x, signed char y, coordoner_t cX); void setC(case_t value, coordoner_t cX); void setC(case_t value, signed char x, signed char y); void setC_Up(case_t value); void setC_Down(case_t value); void setC_Left(case_t value); void setC_Right(case_t value); void setMyPos(case_t value); /** * Surcharge de showMap(void) * @return The formated map 3x3 result */ string showMap(void); /** * Fonction permetant de sortire la map de la position x et y * @param x position X. * @param y position Y. * @return The formated map 3x3 result */ string showMap(signed char x, signed char y); string getAllMap(void){return mapDuLabyrinthe;} void setAllMap(string updatedMap){mapDuLabyrinthe = updatedMap;} private: int searchCoord(signed char posX,signed char posY); coordoner_t getCoordoner(signed char &x, signed char &y); coordoner_t getCoordoner(void); bool updateMap(string mapUpdated); bool updateMap(string mapUpdated,signed char x, signed char y); bool addMap(signed char x, signed char y); }; #endif //LABYRINTHE_H//