BastatDoreau / Mbed 2 deprecated MoveYourTetris

Dependencies:   mbed APDS_9960 mbed-rtos

Dependents:   MoveYourTetris_OK

Committer:
Willheisen
Date:
Thu Mar 31 11:18:41 2016 +0000
Revision:
4:b7a46af55574
Parent:
3:493dd1cf30a4
Child:
5:d6b0bf27bac6
afficher form:e ok

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 3:493dd1cf30a4 18 _matrice[i][j] = COULEUR_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 4:b7a46af55574 47 _matrice[0][0] = COULEUR_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 4:b7a46af55574 69 _matrice[f.getLed(i).getPositionX()][f.getLed(i).getPositionY()] = c;//f.getLed(i).getCouleur();
Willheisen 4:b7a46af55574 70 Serial pc(USBTX, USBRX); //tx, rx
Willheisen 4:b7a46af55574 71 pc.printf("x: %d, y: %d\n", f.getLed(i).getPositionX(), f.getLed(i).getPositionY());
Willheisen 4:b7a46af55574 72 }
Willheisen 4:b7a46af55574 73 }
Willheisen 4:b7a46af55574 74
Willheisen 4:b7a46af55574 75 void cMatrice::ajouterForme(cForme & f){
Willheisen 4:b7a46af55574 76 _formes.insert(_formes.begin(), f);
Willheisen 4:b7a46af55574 77 afficherForme(f, COULEUR_LED_ROUGE);
Willheisen 4:b7a46af55574 78 }
Willheisen 4:b7a46af55574 79
Willheisen 4:b7a46af55574 80 void cMatrice::supprimerForme(cForme & f){
Willheisen 4:b7a46af55574 81 _formes.push_back(f);
Willheisen 4:b7a46af55574 82 }
Willheisen 4:b7a46af55574 83
Willheisen 4:b7a46af55574 84 // Description:
Willheisen 4:b7a46af55574 85 // Nettoyage de la matrice, passage à 0 de la valeur de chaque Led
Willheisen 4:b7a46af55574 86 void cMatrice::clear(){
Willheisen 4:b7a46af55574 87 DigitalOut cs(p14);
Willheisen 4:b7a46af55574 88 SPI matrice(p11,p12,p13);
Willheisen 4:b7a46af55574 89 cs = 0;
Willheisen 4:b7a46af55574 90
Willheisen 4:b7a46af55574 91 for(char i=0; i<8; i++)
Willheisen 4:b7a46af55574 92 {
Willheisen 4:b7a46af55574 93 for(char j=0; j<8; j++)
Willheisen 4:b7a46af55574 94 {
Willheisen 4:b7a46af55574 95 _matrice[i][j] = COULEUR_LED_NOIR;
Willheisen 4:b7a46af55574 96 matrice.write(_matrice[i][j]);
Willheisen 4:b7a46af55574 97 }
Willheisen 4:b7a46af55574 98 }
Willheisen 4:b7a46af55574 99 cs = 1;
Willheisen 4:b7a46af55574 100 }
clementdoreau 1:ab5f440f4156 101
clementdoreau 1:ab5f440f4156 102