Mini projet LOO

Dependencies:   mbed APDS_9960 mbed-rtos

Dependents:   MoveYourTetris_OK

Home du projet

Committer:
Willheisen
Date:
Sun Apr 10 17:46:03 2016 +0000
Revision:
11:c37922a0a915
Parent:
10:9ef3f520ff6c
Child:
29:95469b25e187
Mouvements et gestion de la descente OK  pour le "L"

Who changed what in which revision?

UserRevisionLine numberNew contents of line
clementdoreau 0:b2acac6abf2b 1 #include "cForme.h"
clementdoreau 0:b2acac6abf2b 2
Willheisen 9:6f3d8b714a59 3 cForme::cForme()
Willheisen 9:6f3d8b714a59 4 {
clementdoreau 7:4b283e36b147 5
clementdoreau 7:4b283e36b147 6 }
clementdoreau 7:4b283e36b147 7
Willheisen 9:6f3d8b714a59 8 cForme::~cForme()
Willheisen 9:6f3d8b714a59 9 {
clementdoreau 7:4b283e36b147 10
clementdoreau 7:4b283e36b147 11 }
clementdoreau 7:4b283e36b147 12 // GETTERS
clementdoreau 7:4b283e36b147 13
Willheisen 9:6f3d8b714a59 14 unsigned char cForme::getOrientation()
Willheisen 9:6f3d8b714a59 15 {
Willheisen 9:6f3d8b714a59 16 return _orientation;
clementdoreau 0:b2acac6abf2b 17 }
clementdoreau 0:b2acac6abf2b 18
Willheisen 9:6f3d8b714a59 19 unsigned char cForme::getPositionX()
Willheisen 9:6f3d8b714a59 20 {
Willheisen 9:6f3d8b714a59 21 return _positionX;
clementdoreau 7:4b283e36b147 22 }
clementdoreau 1:ab5f440f4156 23
Willheisen 9:6f3d8b714a59 24 unsigned char cForme::getPositionY()
Willheisen 9:6f3d8b714a59 25 {
Willheisen 9:6f3d8b714a59 26 return _positionY;
clementdoreau 0:b2acac6abf2b 27 }
clementdoreau 0:b2acac6abf2b 28
clementdoreau 10:9ef3f520ff6c 29 unsigned char cForme::getOldPositionX()
clementdoreau 10:9ef3f520ff6c 30 {
clementdoreau 10:9ef3f520ff6c 31 return _oldPositionX;
clementdoreau 10:9ef3f520ff6c 32 }
clementdoreau 10:9ef3f520ff6c 33
clementdoreau 10:9ef3f520ff6c 34 unsigned char cForme::getOldPositionY()
clementdoreau 10:9ef3f520ff6c 35 {
clementdoreau 10:9ef3f520ff6c 36 return _oldPositionY;
clementdoreau 10:9ef3f520ff6c 37 }
clementdoreau 10:9ef3f520ff6c 38
clementdoreau 10:9ef3f520ff6c 39 cLed &cForme::getLed(unsigned char i)
Willheisen 9:6f3d8b714a59 40 {
Willheisen 9:6f3d8b714a59 41 return _Leds[i];
clementdoreau 7:4b283e36b147 42 }
Willheisen 11:c37922a0a915 43 ////////////////////////////////////////////////////
Willheisen 11:c37922a0a915 44 unsigned char cForme::getTypeForme()
Willheisen 11:c37922a0a915 45 {
Willheisen 11:c37922a0a915 46 return _typeForme;
Willheisen 11:c37922a0a915 47 }
clementdoreau 7:4b283e36b147 48
clementdoreau 7:4b283e36b147 49 // SETTERS
Willheisen 9:6f3d8b714a59 50 void cForme::setOrientation(unsigned char orientation)
Willheisen 9:6f3d8b714a59 51 {
Willheisen 9:6f3d8b714a59 52 _orientation = orientation;
clementdoreau 1:ab5f440f4156 53 }
clementdoreau 1:ab5f440f4156 54
Willheisen 9:6f3d8b714a59 55 void cForme::setPositionX(unsigned char x)
Willheisen 9:6f3d8b714a59 56 {
Willheisen 9:6f3d8b714a59 57 _positionX = x;
clementdoreau 7:4b283e36b147 58 }
Willheisen 9:6f3d8b714a59 59 void cForme::setPositionY(unsigned char y)
Willheisen 9:6f3d8b714a59 60 {
Willheisen 9:6f3d8b714a59 61 _positionY = y;
clementdoreau 0:b2acac6abf2b 62 }
clementdoreau 0:b2acac6abf2b 63
clementdoreau 10:9ef3f520ff6c 64 void cForme::setOldPositionX(unsigned char x)
clementdoreau 10:9ef3f520ff6c 65 {
clementdoreau 10:9ef3f520ff6c 66 _oldPositionX = x;
clementdoreau 10:9ef3f520ff6c 67 }
clementdoreau 10:9ef3f520ff6c 68
clementdoreau 10:9ef3f520ff6c 69 void cForme::setOldPositionY(unsigned char y)
clementdoreau 10:9ef3f520ff6c 70 {
clementdoreau 10:9ef3f520ff6c 71 _oldPositionY = y;
clementdoreau 10:9ef3f520ff6c 72 }
clementdoreau 10:9ef3f520ff6c 73
clementdoreau 7:4b283e36b147 74 // METHODES
clementdoreau 7:4b283e36b147 75
clementdoreau 7:4b283e36b147 76 // Description:
clementdoreau 7:4b283e36b147 77 // Décalage d'1 case vers le bas
Willheisen 9:6f3d8b714a59 78 void cForme::deplacementBas()
Willheisen 11:c37922a0a915 79 {
Willheisen 9:6f3d8b714a59 80 for (unsigned char i = 0; i < 4; i++) {
Willheisen 11:c37922a0a915 81 _Leds[i].setOldPositionX(_Leds[i].getPositionX());
clementdoreau 10:9ef3f520ff6c 82 _Leds[i].setOldPositionY(_Leds[i].getPositionY());
Willheisen 9:6f3d8b714a59 83 _Leds[i].setPositionY(_Leds[i].getPositionY() + 1);
Willheisen 9:6f3d8b714a59 84 }
Willheisen 11:c37922a0a915 85 setOldPositionX(getPositionX());
clementdoreau 10:9ef3f520ff6c 86 setOldPositionY(getPositionY());
Willheisen 9:6f3d8b714a59 87 setPositionY(getPositionY() + 1);
clementdoreau 0:b2acac6abf2b 88 }
clementdoreau 0:b2acac6abf2b 89
Willheisen 11:c37922a0a915 90
Willheisen 9:6f3d8b714a59 91 // Description:
Willheisen 9:6f3d8b714a59 92 // Décalage d'1 case vers la droite
Willheisen 9:6f3d8b714a59 93 void cForme::deplacementDroite()
Willheisen 11:c37922a0a915 94 {
Willheisen 9:6f3d8b714a59 95 for (unsigned char i = 0; i < 4; i++) {
clementdoreau 10:9ef3f520ff6c 96 _Leds[i].setOldPositionX(_Leds[i].getPositionX());
Willheisen 11:c37922a0a915 97 _Leds[i].setOldPositionY(_Leds[i].getPositionY());
Willheisen 9:6f3d8b714a59 98 _Leds[i].setPositionX(_Leds[i].getPositionX() + 1);
Willheisen 11:c37922a0a915 99
Willheisen 9:6f3d8b714a59 100 }
clementdoreau 10:9ef3f520ff6c 101 setOldPositionX(getPositionX());
Willheisen 11:c37922a0a915 102 setOldPositionY(getPositionY());
Willheisen 9:6f3d8b714a59 103 setPositionX(getPositionX() + 1);
Willheisen 9:6f3d8b714a59 104 }
clementdoreau 0:b2acac6abf2b 105
Willheisen 9:6f3d8b714a59 106 // Description:
Willheisen 9:6f3d8b714a59 107 // Décalage d'1 case vers la gauche
Willheisen 9:6f3d8b714a59 108 void cForme::deplacementGauche()
Willheisen 11:c37922a0a915 109 {
Willheisen 9:6f3d8b714a59 110 for (unsigned char i = 0; i < 4; i++) {
clementdoreau 10:9ef3f520ff6c 111 _Leds[i].setOldPositionX(_Leds[i].getPositionX());
Willheisen 11:c37922a0a915 112 _Leds[i].setOldPositionY(_Leds[i].getPositionY());
Willheisen 9:6f3d8b714a59 113 _Leds[i].setPositionX(_Leds[i].getPositionX() - 1);
Willheisen 9:6f3d8b714a59 114 }
clementdoreau 10:9ef3f520ff6c 115 setOldPositionX(getPositionX());
Willheisen 11:c37922a0a915 116 setOldPositionY(getPositionY());
Willheisen 9:6f3d8b714a59 117 setPositionX(getPositionX() - 1);
Willheisen 9:6f3d8b714a59 118 }
clementdoreau 7:4b283e36b147 119
Willheisen 9:6f3d8b714a59 120 void cForme::rotationHoraire() {}