BastatDoreau / Mbed 2 deprecated MoveYourTetris

Dependencies:   mbed APDS_9960 mbed-rtos

Dependents:   MoveYourTetris_OK

Committer:
Willheisen
Date:
Thu Mar 31 11:24:34 2016 +0000
Revision:
5:d6b0bf27bac6
Parent:
4:b7a46af55574
Child:
7:4b283e36b147
couleurs des formes

Who changed what in which revision?

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