Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed APDS_9960 mbed-rtos
src/cMatrice.cpp
- Committer:
- clementdoreau
- Date:
- 2016-04-20
- Revision:
- 28:e932eb039271
- Parent:
- 21:f0cf4173ecdb
- Child:
- 29:95469b25e187
File content as of revision 28:e932eb039271:
#include "cMatrice.h" #include <algorithm> // CONSTRUCTEURS cMatrice::cMatrice() { } cMatrice::cMatrice(unsigned char c, unsigned char l) { _lig = l; _col = c; _matrice = new unsigned char*[_lig]; for(unsigned char i = 0; i < _lig; i++) { _matrice[i] = new unsigned char[_col]; } clear(); } // DESTRUCTEUR cMatrice::~cMatrice() { for(unsigned char i = 0; i < _lig; i++) { delete[] _matrice[i]; delete[] _matrice; } } // GETTER unsigned char cMatrice::getValTab(unsigned char l, unsigned char c) { return _matrice[l][c]; } unsigned char cMatrice::getCol() { return _col; } unsigned char cMatrice::getLig() { return _lig; } cForme* cMatrice::get_pForme() { return _pForme; } // SETTER void cMatrice::setCol(unsigned char c) { _col = c; } void cMatrice::setLig(unsigned char l) { _lig = l; } void cMatrice::setValTab(unsigned char l, unsigned char c, unsigned char coul) { _matrice [l][c] = coul; } // METHODES // Paramètres: // f: Forme à afficher // c: Couleur void cMatrice::afficherForme(cForme* f, unsigned char c) { _pForme = f; // Changement de couleur des Leds for (int i = 0; i < 4; i++) { _pForme->getLed(i).setCouleur(c); _matrice[_pForme->getLed(i).getPositionX()][_pForme->getLed(i).getPositionY()] = c; } } // Description: // Nettoyage de la matrice, passage à 0 de la valeur de chaque Led void cMatrice::clear() { for(unsigned char i = 0; i < _lig; i++) { for(unsigned char j = 0; j < _col; j++) { _matrice[i][j] = LED_NOIR; } } ////////////////////////////////////////////////////////////////////////////////////// _matrice[0][0] = LED_ROUGE; //_matrice[8][0] = LED_ROUGE; } void cMatrice::updateMatrice() { // On éteint les leds de la pièce for (int i = 0; i < 4; i++) { _matrice[_pForme->getLed(i).getOldPositionX()][_pForme->getLed(i).getOldPositionY()] = LED_NOIR; } // Affichage de la nouvelle position afficherForme(_pForme, _pForme->getLed(0).getCouleur()); /////////////////////////////////////////////////////////////////////////////////////////////// // Controle de la collision avec les bords /////////////////////////////////////////////////////////////////////////////////////////////// }