BastatDoreau / Mbed 2 deprecated MoveYourTetris

Dependencies:   mbed APDS_9960 mbed-rtos

Dependents:   MoveYourTetris_OK

Committer:
clementdoreau
Date:
Thu Mar 31 07:28:11 2016 +0000
Revision:
6:0e6c1cccb275
Parent:
3:493dd1cf30a4
Mise ? jour de la classe matrice;

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