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:
12:7afdbc7465ac
Mouvements et gestion de la descente OK  pour le "L"

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Willheisen 3:493dd1cf30a4 1 // Définition de la classe El
Willheisen 3:493dd1cf30a4 2
Willheisen 3:493dd1cf30a4 3 #include "cEl.h"
Willheisen 3:493dd1cf30a4 4
Willheisen 9:6f3d8b714a59 5 cEl::cEl()
Willheisen 9:6f3d8b714a59 6 {
Willheisen 9:6f3d8b714a59 7 // variables à 0
Willheisen 9:6f3d8b714a59 8 _positionX = 0;
Willheisen 9:6f3d8b714a59 9 _positionY = 0;
Willheisen 9:6f3d8b714a59 10 _orientation = 1;
Willheisen 9:6f3d8b714a59 11 // Positionnement des leds
Willheisen 9:6f3d8b714a59 12 // |1|2|3|
Willheisen 9:6f3d8b714a59 13 // |0|
Willheisen 9:6f3d8b714a59 14 _Leds[0].setPositionX(_positionX - 1);
Willheisen 9:6f3d8b714a59 15 _Leds[0].setPositionY(_positionY + 1);
Willheisen 9:6f3d8b714a59 16 _Leds[1].setPositionX(_positionX - 1);
Willheisen 9:6f3d8b714a59 17 _Leds[1].setPositionY(_positionY);
Willheisen 9:6f3d8b714a59 18 _Leds[2].setPositionX(_positionX);
Willheisen 9:6f3d8b714a59 19 _Leds[2].setPositionY(_positionY);
Willheisen 9:6f3d8b714a59 20 _Leds[3].setPositionX(_positionX + 1);
Willheisen 9:6f3d8b714a59 21 _Leds[3].setPositionY(_positionY);
Willheisen 11:c37922a0a915 22
Willheisen 3:493dd1cf30a4 23 }
Willheisen 3:493dd1cf30a4 24
Willheisen 9:6f3d8b714a59 25 cEl::cEl(unsigned char x, unsigned char y)
Willheisen 9:6f3d8b714a59 26 {
Willheisen 9:6f3d8b714a59 27 // variables à 0
Willheisen 9:6f3d8b714a59 28 _positionX = x;
Willheisen 9:6f3d8b714a59 29 _positionY = y;
Willheisen 11:c37922a0a915 30
Willheisen 9:6f3d8b714a59 31 _orientation = 1;
Willheisen 9:6f3d8b714a59 32 // Positionnement des leds
Willheisen 9:6f3d8b714a59 33 // |1|2|3|
Willheisen 9:6f3d8b714a59 34 // |0|
Willheisen 9:6f3d8b714a59 35 _Leds[0].setPositionX(_positionX - 1);
Willheisen 9:6f3d8b714a59 36 _Leds[0].setPositionY(_positionY + 1);
Willheisen 9:6f3d8b714a59 37 _Leds[1].setPositionX(_positionX - 1);
Willheisen 9:6f3d8b714a59 38 _Leds[1].setPositionY(_positionY);
Willheisen 9:6f3d8b714a59 39 _Leds[2].setPositionX(_positionX);
Willheisen 9:6f3d8b714a59 40 _Leds[2].setPositionY(_positionY);
Willheisen 9:6f3d8b714a59 41 _Leds[3].setPositionX(_positionX + 1);
Willheisen 9:6f3d8b714a59 42 _Leds[3].setPositionY(_positionY);
Willheisen 11:c37922a0a915 43 for(unsigned char i = 0; i<4;i++)
Willheisen 11:c37922a0a915 44 {
Willheisen 11:c37922a0a915 45 _Leds[i].setOldPositionX(_Leds[i].getPositionX());
Willheisen 11:c37922a0a915 46 }
Willheisen 11:c37922a0a915 47 for(unsigned char i = 0; i<4;i++)
Willheisen 11:c37922a0a915 48 {
Willheisen 11:c37922a0a915 49 _Leds[i].setOldPositionY(_Leds[i].getPositionY());
Willheisen 11:c37922a0a915 50 }
Willheisen 11:c37922a0a915 51 ////////////////////////////////////////////////////////
Willheisen 11:c37922a0a915 52 _typeForme = 4;
clementdoreau 7:4b283e36b147 53 }
clementdoreau 7:4b283e36b147 54
clementdoreau 7:4b283e36b147 55
Willheisen 3:493dd1cf30a4 56
Willheisen 9:6f3d8b714a59 57 void cEl::rotationHoraire()
Willheisen 9:6f3d8b714a59 58 {
clementdoreau 10:9ef3f520ff6c 59 // Sauvegarde des anciennes positions
Willheisen 11:c37922a0a915 60 for (unsigned char i = 0; i < 4; i++) {
clementdoreau 10:9ef3f520ff6c 61 _Leds[i].setOldPositionX(_Leds[i].getPositionX());
clementdoreau 10:9ef3f520ff6c 62 _Leds[i].setOldPositionY(_Leds[i].getPositionY());
clementdoreau 10:9ef3f520ff6c 63 }
clementdoreau 10:9ef3f520ff6c 64
Willheisen 9:6f3d8b714a59 65 switch (_orientation) {
Willheisen 9:6f3d8b714a59 66 case 1:
Willheisen 9:6f3d8b714a59 67 // Positionnement des leds
Willheisen 9:6f3d8b714a59 68 // |0|1|
Willheisen 9:6f3d8b714a59 69 // |2|
Willheisen 9:6f3d8b714a59 70 // |3|
Willheisen 9:6f3d8b714a59 71 _Leds[0].setPositionX(_positionX - 1);
Willheisen 9:6f3d8b714a59 72 _Leds[0].setPositionY(_positionY - 1);
Willheisen 9:6f3d8b714a59 73 _Leds[1].setPositionX(_positionX);
Willheisen 9:6f3d8b714a59 74 _Leds[1].setPositionY(_positionY - 1);
Willheisen 9:6f3d8b714a59 75 _Leds[2].setPositionX(_positionX);
Willheisen 9:6f3d8b714a59 76 _Leds[2].setPositionY(_positionY);
Willheisen 9:6f3d8b714a59 77 _Leds[3].setPositionX(_positionX);
Willheisen 9:6f3d8b714a59 78 _Leds[3].setPositionY(_positionY + 1);
Willheisen 9:6f3d8b714a59 79 _orientation = 2;
Willheisen 9:6f3d8b714a59 80 break;
Willheisen 9:6f3d8b714a59 81 case 2:
Willheisen 9:6f3d8b714a59 82 // Positionnement des leds
Willheisen 9:6f3d8b714a59 83 // |0|
Willheisen 9:6f3d8b714a59 84 // |3|2|1|
Willheisen 9:6f3d8b714a59 85 _Leds[0].setPositionX(_positionX + 1);
Willheisen 9:6f3d8b714a59 86 _Leds[0].setPositionY(_positionY - 1);
Willheisen 9:6f3d8b714a59 87 _Leds[1].setPositionX(_positionX + 1);
Willheisen 9:6f3d8b714a59 88 _Leds[1].setPositionY(_positionY);
Willheisen 9:6f3d8b714a59 89 _Leds[2].setPositionX(_positionX);
Willheisen 9:6f3d8b714a59 90 _Leds[2].setPositionY(_positionY);
Willheisen 9:6f3d8b714a59 91 _Leds[3].setPositionX(_positionX - 1);
Willheisen 9:6f3d8b714a59 92 _Leds[3].setPositionY(_positionY);
Willheisen 9:6f3d8b714a59 93 _orientation = 3;
Willheisen 9:6f3d8b714a59 94 break;
Willheisen 9:6f3d8b714a59 95 case 3:
Willheisen 9:6f3d8b714a59 96 // Positionnement des leds
Willheisen 9:6f3d8b714a59 97 // |3|
Willheisen 9:6f3d8b714a59 98 // |2|
Willheisen 9:6f3d8b714a59 99 // |1|0|
Willheisen 9:6f3d8b714a59 100 _Leds[0].setPositionX(_positionX + 1);
Willheisen 9:6f3d8b714a59 101 _Leds[0].setPositionY(_positionY + 1);
Willheisen 9:6f3d8b714a59 102 _Leds[1].setPositionX(_positionX);
Willheisen 9:6f3d8b714a59 103 _Leds[1].setPositionY(_positionY + 1);
Willheisen 9:6f3d8b714a59 104 _Leds[2].setPositionX(_positionX);
Willheisen 9:6f3d8b714a59 105 _Leds[2].setPositionY(_positionY);
Willheisen 9:6f3d8b714a59 106 _Leds[3].setPositionX(_positionX);
Willheisen 9:6f3d8b714a59 107 _Leds[3].setPositionY(_positionY - 1);
Willheisen 9:6f3d8b714a59 108 _orientation = 4;
Willheisen 9:6f3d8b714a59 109 break;
Willheisen 3:493dd1cf30a4 110
Willheisen 9:6f3d8b714a59 111 case 4:
Willheisen 9:6f3d8b714a59 112 // Positionnement des leds
Willheisen 9:6f3d8b714a59 113 // |1|2|3|
Willheisen 9:6f3d8b714a59 114 // |0|
Willheisen 9:6f3d8b714a59 115 _Leds[0].setPositionX(_positionX - 1);
Willheisen 9:6f3d8b714a59 116 _Leds[0].setPositionY(_positionY + 1);
Willheisen 9:6f3d8b714a59 117 _Leds[1].setPositionX(_positionX - 1);
Willheisen 9:6f3d8b714a59 118 _Leds[1].setPositionY(_positionY);
Willheisen 9:6f3d8b714a59 119 _Leds[2].setPositionX(_positionX);
Willheisen 9:6f3d8b714a59 120 _Leds[2].setPositionY(_positionY);
Willheisen 9:6f3d8b714a59 121 _Leds[3].setPositionX(_positionX + 1);
Willheisen 9:6f3d8b714a59 122 _Leds[3].setPositionY(_positionY);
Willheisen 9:6f3d8b714a59 123 _orientation = 1;
Willheisen 9:6f3d8b714a59 124 break;
Willheisen 9:6f3d8b714a59 125 default:
Willheisen 9:6f3d8b714a59 126 break;
Willheisen 9:6f3d8b714a59 127 }
clementdoreau 7:4b283e36b147 128 }
clementdoreau 7:4b283e36b147 129