BastatDoreau / Mbed 2 deprecated MoveYourTetris

Dependencies:   mbed APDS_9960 mbed-rtos

Dependents:   MoveYourTetris_OK

Committer:
Willheisen
Date:
Wed Apr 06 15:41:24 2016 +0000
Revision:
8:92d0c4961a16
Parent:
7:4b283e36b147
Child:
9:6f3d8b714a59
ajout de la classe cJeu avec les m?thodes initialiser et g?n?ration al?atoire de pi?ce

Who changed what in which revision?

UserRevisionLine numberNew contents of line
clementdoreau 1:ab5f440f4156 1 #include "cMatrice.h"
clementdoreau 1:ab5f440f4156 2
clementdoreau 7:4b283e36b147 3 cMatrice::cMatrice() {
clementdoreau 7:4b283e36b147 4 _matrice = new unsigned char *[8];
clementdoreau 7:4b283e36b147 5 for (unsigned char i = 0; i <= 7; i++) {
clementdoreau 7:4b283e36b147 6 _matrice[i] = new unsigned char[8];
clementdoreau 1:ab5f440f4156 7
clementdoreau 7:4b283e36b147 8 }
clementdoreau 1:ab5f440f4156 9
clementdoreau 7:4b283e36b147 10 for (unsigned char i = 0; i < 8; i++) {
clementdoreau 7:4b283e36b147 11 for (unsigned char j = 0; j < 8; j++) {
clementdoreau 7:4b283e36b147 12 _matrice[i][j] = LED_BLEU_FONCE;
clementdoreau 7:4b283e36b147 13 }
clementdoreau 7:4b283e36b147 14 }
clementdoreau 1:ab5f440f4156 15 }
clementdoreau 1:ab5f440f4156 16
clementdoreau 7:4b283e36b147 17 cMatrice::~cMatrice() {
Willheisen 8:92d0c4961a16 18 for (int i = 0; i < 8; i++)
Willheisen 8:92d0c4961a16 19 delete[] _matrice[i];
Willheisen 8:92d0c4961a16 20 delete[] _matrice;
clementdoreau 1:ab5f440f4156 21 }
clementdoreau 1:ab5f440f4156 22
Willheisen 3:493dd1cf30a4 23 /*// GETTER
clementdoreau 7:4b283e36b147 24 unsigned char cMatrice::getMatrice()
clementdoreau 7:4b283e36b147 25 {
clementdoreau 1:ab5f440f4156 26
clementdoreau 7:4b283e36b147 27 return _matrice;
clementdoreau 7:4b283e36b147 28 }*/
Willheisen 3:493dd1cf30a4 29
clementdoreau 1:ab5f440f4156 30 // SETTER
clementdoreau 7:4b283e36b147 31 void cMatrice::updateMatrice(cForme &f) {
clementdoreau 1:ab5f440f4156 32
clementdoreau 1:ab5f440f4156 33 }
clementdoreau 1:ab5f440f4156 34 // METHODES
clementdoreau 7:4b283e36b147 35 void cMatrice::envoyerMatrice() {
clementdoreau 7:4b283e36b147 36
clementdoreau 7:4b283e36b147 37 DigitalOut cs(p14);
clementdoreau 7:4b283e36b147 38 SPI matrice(p11, p12, p13);
clementdoreau 7:4b283e36b147 39 matrice.frequency(100000);
Willheisen 8:92d0c4961a16 40 //matrice.format(8,3);
clementdoreau 7:4b283e36b147 41 _matrice[0][0] = LED_ORANGE;
clementdoreau 7:4b283e36b147 42
clementdoreau 7:4b283e36b147 43 cs = 0;
clementdoreau 7:4b283e36b147 44 wait(0.5);
clementdoreau 7:4b283e36b147 45
clementdoreau 7:4b283e36b147 46 for (char i = 0; i < 8; i++) {
clementdoreau 7:4b283e36b147 47 for (char j = 0; j < 8; j++) {
clementdoreau 7:4b283e36b147 48 matrice.write(_matrice[i][j]);
clementdoreau 7:4b283e36b147 49 }
clementdoreau 7:4b283e36b147 50 }
clementdoreau 7:4b283e36b147 51 wait(0.5);
clementdoreau 7:4b283e36b147 52 cs = 1;
clementdoreau 1:ab5f440f4156 53 }
clementdoreau 7:4b283e36b147 54
Willheisen 4:b7a46af55574 55 // Paramètres:
Willheisen 4:b7a46af55574 56 // f: Forme à afficher
Willheisen 4:b7a46af55574 57 // c: Couleur
clementdoreau 7:4b283e36b147 58 void cMatrice::afficherForme(cForme &f, unsigned char c) {
Willheisen 4:b7a46af55574 59 // Changement de couleur des Leds
clementdoreau 7:4b283e36b147 60 for (unsigned char i = 0; i < 4; i++) {
clementdoreau 7:4b283e36b147 61 //f.getLed(i).allumer(c);
clementdoreau 7:4b283e36b147 62 _matrice[f.getLed(i).getPositionX()][f.getLed(i).getPositionY()] = c;
clementdoreau 7:4b283e36b147 63 }
Willheisen 4:b7a46af55574 64 }
Willheisen 4:b7a46af55574 65
clementdoreau 7:4b283e36b147 66 void cMatrice::ajouterForme(cForme & f, unsigned char c) {
clementdoreau 7:4b283e36b147 67 _formes.insert(_formes.begin(), f);
clementdoreau 7:4b283e36b147 68 afficherForme(f, c);
Willheisen 4:b7a46af55574 69 }
Willheisen 4:b7a46af55574 70
Willheisen 4:b7a46af55574 71 // Description:
Willheisen 4:b7a46af55574 72 // Nettoyage de la matrice, passage à 0 de la valeur de chaque Led
clementdoreau 7:4b283e36b147 73 void cMatrice::clear() {
clementdoreau 7:4b283e36b147 74 for (char i = 0; i < 8; i++) {
clementdoreau 7:4b283e36b147 75 for (char j = 0; j < 8; j++) {
clementdoreau 7:4b283e36b147 76 _matrice[i][j] = LED_NOIR;
clementdoreau 7:4b283e36b147 77 }
clementdoreau 7:4b283e36b147 78 }
Willheisen 4:b7a46af55574 79 }
clementdoreau 1:ab5f440f4156 80
clementdoreau 7:4b283e36b147 81 cForme cMatrice::getForme(unsigned int i){
clementdoreau 7:4b283e36b147 82 return _formes.at(i);
clementdoreau 7:4b283e36b147 83 }