Mini projet LOO
Dependencies: mbed APDS_9960 mbed-rtos
Home du projet
src/cLigne.cpp
- Committer:
- Willheisen
- Date:
- 2016-04-24
- Revision:
- 40:08490d120ec4
- Parent:
- 18:45dbd9948c97
- Child:
- 29:95469b25e187
File content as of revision 40:08490d120ec4:
// Définition de la classe Ligne #include "cLigne.h" cLigne::cLigne() { // variables à 0 _positionX = 0; _positionY = 0; _orientation = 1; // Positionnement des leds // |0|1|2|3| _Leds[0].setPositionX(_positionX - 1); _Leds[0].setPositionY(_positionY); _Leds[1].setPositionX(_positionX); _Leds[1].setPositionY(_positionY); _Leds[2].setPositionX(_positionX + 1); _Leds[2].setPositionY(_positionY); _Leds[3].setPositionX(_positionX + 2); _Leds[3].setPositionY(_positionY); for(unsigned char i = 0; i<4; i++) { _Leds[i].setOldPositionX(_Leds[i].getPositionX()); } for(unsigned char i = 0; i<4; i++) { _Leds[i].setOldPositionY(_Leds[i].getPositionY()); } _typeForme = 0; } cLigne::cLigne(unsigned char x, unsigned char y) { // variables à 0 _positionX = x; _positionY = y; _orientation = 1; // Positionnement des leds // |0|1|2|3| _Leds[0].setPositionX(_positionX); _Leds[0].setPositionY(_positionY); _Leds[1].setPositionX(_positionX + 1); _Leds[1].setPositionY(_positionY); _Leds[2].setPositionX(_positionX + 2); _Leds[2].setPositionY(_positionY); _Leds[3].setPositionX(_positionX + 3); _Leds[3].setPositionY(_positionY); for(unsigned char i = 0; i<4; i++) { _Leds[i].setOldPositionX(_Leds[i].getPositionX()); } for(unsigned char i = 0; i<4; i++) { _Leds[i].setOldPositionY(_Leds[i].getPositionY()); } _typeForme = 0; } void cLigne::rotationHoraire() { // Sauvegarde des anciennes positions for (unsigned char i = 0; i < 4; i++) { _Leds[i].setOldPositionX(_Leds[i].getPositionX()); _Leds[i].setOldPositionY(_Leds[i].getPositionY()); } switch (_orientation) { case 1: // Positionnement des leds // |0| // |1| // |2| // |3| _Leds[0].setPositionX(_positionX); _Leds[0].setPositionY(_positionY - 1); _Leds[1].setPositionX(_positionX); _Leds[1].setPositionY(_positionY); _Leds[2].setPositionX(_positionX); _Leds[2].setPositionY(_positionY + 1); _Leds[3].setPositionX(_positionX); _Leds[3].setPositionY(_positionY + 2); _orientation = 2; break; case 2: // Positionnement des leds // |3|2|1|0| _Leds[0].setPositionX(_positionX + 1); _Leds[0].setPositionY(_positionY); _Leds[1].setPositionX(_positionX); _Leds[1].setPositionY(_positionY); _Leds[2].setPositionX(_positionX - 1); _Leds[2].setPositionY(_positionY); _Leds[3].setPositionX(_positionX - 2); _Leds[3].setPositionY(_positionY); _orientation = 3; break; case 3: // Positionnement des leds // |3| // |2| // |1| // |0| _Leds[0].setPositionX(_positionX); _Leds[0].setPositionY(_positionY + 1); _Leds[1].setPositionX(_positionX); _Leds[1].setPositionY(_positionY); _Leds[2].setPositionX(_positionX); _Leds[2].setPositionY(_positionY - 1); _Leds[3].setPositionX(_positionX); _Leds[3].setPositionY(_positionY - 2); _orientation = 4; break; case 4: // Positionnement des leds // |0|1|2|3| _Leds[0].setPositionX(_positionX - 1); _Leds[0].setPositionY(_positionY); _Leds[1].setPositionX(_positionX); _Leds[1].setPositionY(_positionY); _Leds[2].setPositionX(_positionX + 1); _Leds[2].setPositionY(_positionY); _Leds[3].setPositionX(_positionX + 2); _Leds[3].setPositionY(_positionY); _orientation = 1; break; default: break; } }