Mini projet LOO
Dependencies: mbed APDS_9960 mbed-rtos
Home du projet
src/cZed.cpp
- Committer:
- Willheisen
- Date:
- 2016-04-10
- Revision:
- 12:7afdbc7465ac
- Parent:
- 8:92d0c4961a16
- Child:
- 29:95469b25e187
File content as of revision 12:7afdbc7465ac:
// Définition de la classe Carré #include "cZed.h" cZed::cZed() { // 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); _Leds[2].setPositionY(_positionY + 1); _Leds[3].setPositionX(_positionX + 1); _Leds[3].setPositionY(_positionY + 1); 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 = 2; } cZed::cZed(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 - 1); _Leds[0].setPositionY(_positionY); _Leds[1].setPositionX(_positionX); _Leds[1].setPositionY(_positionY); _Leds[2].setPositionX(_positionX); _Leds[2].setPositionY(_positionY + 1); _Leds[3].setPositionX(_positionX + 1); _Leds[3].setPositionY(_positionY + 1); 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 = 2; } void cZed::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| // |2|1| // |3| _Leds[0].setPositionX(_positionX); _Leds[0].setPositionY(_positionY - 1); _Leds[1].setPositionX(_positionX); _Leds[1].setPositionY(_positionY); _Leds[2].setPositionX(_positionX - 1); _Leds[2].setPositionY(_positionY); _Leds[3].setPositionX(_positionX - 1); _Leds[3].setPositionY(_positionY + 1); _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); _Leds[2].setPositionY(_positionY - 1); _Leds[3].setPositionX(_positionX - 1); _Leds[3].setPositionY(_positionY - 1); _orientation = 3; break; case 3: // Positionnement des leds // |3| // |1|2| // |0| _Leds[0].setPositionX(_positionX); _Leds[0].setPositionY(_positionY + 1); _Leds[1].setPositionX(_positionX); _Leds[1].setPositionY(_positionY); _Leds[2].setPositionX(_positionX + 1); _Leds[2].setPositionY(_positionY); _Leds[3].setPositionX(_positionX + 1); _Leds[3].setPositionY(_positionY - 1); _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); _Leds[2].setPositionY(_positionY + 1); _Leds[3].setPositionX(_positionX + 1); _Leds[3].setPositionY(_positionY + 1); _orientation = 1; break; default: break; } }