Mini projet LOO
Dependencies: mbed APDS_9960 mbed-rtos
Home du projet
src/cEl.cpp
- Committer:
- Willheisen
- Date:
- 2016-04-10
- Revision:
- 12:7afdbc7465ac
- Parent:
- 11:c37922a0a915
- Child:
- 20:921ffec1acb4
File content as of revision 12:7afdbc7465ac:
// Définition de la classe El #include "cEl.h" cEl::cEl() { // variables à 0 _positionX = 0; _positionY = 0; _orientation = 1; // Positionnement des leds // |1|2|3| // |0| _Leds[0].setPositionX(_positionX - 1); _Leds[0].setPositionY(_positionY + 1); _Leds[1].setPositionX(_positionX - 1); _Leds[1].setPositionY(_positionY); _Leds[2].setPositionX(_positionX); _Leds[2].setPositionY(_positionY); _Leds[3].setPositionX(_positionX + 1); _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 = 4; } cEl::cEl(unsigned char x, unsigned char y) { // variables à 0 _positionX = x; _positionY = y; _orientation = 1; // Positionnement des leds // |1|2|3| // |0| _Leds[0].setPositionX(_positionX - 1); _Leds[0].setPositionY(_positionY + 1); _Leds[1].setPositionX(_positionX - 1); _Leds[1].setPositionY(_positionY); _Leds[2].setPositionX(_positionX); _Leds[2].setPositionY(_positionY); _Leds[3].setPositionX(_positionX + 1); _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 = 4; } void cEl::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 - 1); _Leds[0].setPositionY(_positionY - 1); _Leds[1].setPositionX(_positionX); _Leds[1].setPositionY(_positionY - 1); _Leds[2].setPositionX(_positionX); _Leds[2].setPositionY(_positionY); _Leds[3].setPositionX(_positionX); _Leds[3].setPositionY(_positionY + 1); _orientation = 2; break; case 2: // Positionnement des leds // |0| // |3|2|1| _Leds[0].setPositionX(_positionX + 1); _Leds[0].setPositionY(_positionY - 1); _Leds[1].setPositionX(_positionX + 1); _Leds[1].setPositionY(_positionY); _Leds[2].setPositionX(_positionX); _Leds[2].setPositionY(_positionY); _Leds[3].setPositionX(_positionX - 1); _Leds[3].setPositionY(_positionY); _orientation = 3; break; case 3: // Positionnement des leds // |3| // |2| // |1|0| _Leds[0].setPositionX(_positionX + 1); _Leds[0].setPositionY(_positionY + 1); _Leds[1].setPositionX(_positionX); _Leds[1].setPositionY(_positionY + 1); _Leds[2].setPositionX(_positionX); _Leds[2].setPositionY(_positionY); _Leds[3].setPositionX(_positionX); _Leds[3].setPositionY(_positionY - 1); _orientation = 4; break; case 4: // Positionnement des leds // |1|2|3| // |0| _Leds[0].setPositionX(_positionX - 1); _Leds[0].setPositionY(_positionY + 1); _Leds[1].setPositionX(_positionX - 1); _Leds[1].setPositionY(_positionY); _Leds[2].setPositionX(_positionX); _Leds[2].setPositionY(_positionY); _Leds[3].setPositionX(_positionX + 1); _Leds[3].setPositionY(_positionY); _orientation = 1; break; default: break; } }