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
Diff: src/cMatrice.cpp
- Revision:
- 38:418278e5eb6b
- Parent:
- 36:f58a566595ad
- Child:
- 40:08490d120ec4
--- a/src/cMatrice.cpp Sun Apr 24 20:15:03 2016 +0000
+++ b/src/cMatrice.cpp Sun Apr 24 21:35:57 2016 +0000
@@ -2,12 +2,13 @@
#include <algorithm>
// CONSTRUCTEURS
-
+//Constructeur par défaut
cMatrice::cMatrice()
{
}
+//Constructeur qui alloue dynamiquement la mémoire pour lamatrice
cMatrice::cMatrice(unsigned char c, unsigned char l)
{
_lig = l;
@@ -17,7 +18,6 @@
_matrice[i] = new unsigned char[_col];
}
clear();
- /////////////////////////////////////////////////////////
decalage = 1;
}
@@ -66,13 +66,14 @@
_matrice [l][c] = coul;
}
-// METHODES
-
-// Paramètres:
+//Méthode qui associe la nouvelle pièce crée à la matrice, via un pointeur
+//Entrées:
// f: Forme à afficher
// c: Couleur
+//Sorties: aucune.
void cMatrice::afficherForme(cForme* f, unsigned char c)
{
+ //On pointe sur la pièce
_pForme = f;
// Changement de couleur des Leds
for (int i = 0; i < 4; i++) {
@@ -82,8 +83,9 @@
}
-// Description:
-// Nettoyage de la matrice, passage à 0 de la valeur de chaque Led
+//Méthode de nettoyage de la matrice, passage à 0 de la valeur de chaque LED
+//Entrées: aucune.
+//Sorties: aucune.
void cMatrice::clear()
{
for(unsigned char i = 0; i < _col; i++) {
@@ -91,10 +93,13 @@
_matrice[i][j] = LED_NOIR;
}
}
- //////////////////////////////////////////////////////////////////////////////////////
+ //On affiche le coin en haut à gauche de la matrice pour se repérer
_matrice[0][0] = LED_ROUGE;
}
+//Méthode qui va actualiser les LEDs de la pièce après mouvement
+//Entrées: aucune.
+//Sorties: aucune.
void cMatrice::updateMatrice()
{
// On éteint les leds de la pièce
@@ -103,15 +108,17 @@
}
// Affichage de la nouvelle position
afficherForme(_pForme, _pForme->getLed(0).getCouleur());
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Controle de la collision avec les bords
- ///////////////////////////////////////////////////////////////////////////////////////////////
}
+//Méthode qui crée le message d'accueil en début de jeu "Move your Tetris",
+//et afffiche les 3 premiers caractères.
+//Entrées: aucune.
+//Sorties: aucune.
void cMatrice::messageAccueil()
{
Serial pc (USBTX, USBRX);
int i, j;
+ //On efface tout le tableau 2D qui ca contenir le message
for(i=0; i<8 ; i++) {
for(j=0; j<67; j++) {
matriceMessage[i][j]= LED_NOIR;
@@ -119,6 +126,7 @@
}
unsigned char coul;
j=0;
+ //Le mot "Move" est coloré en rouge
coul = LED_ROUGE;
//M
for(i = 1; i < _col -1; i++) {
@@ -178,6 +186,7 @@
matriceMessage[4][j] = coul;
j++;
j++;
+ //Le mot "your" est coloré en vert
coul = LED_VERT;
//y
matriceMessage[1][j] = coul;
@@ -237,6 +246,7 @@
matriceMessage[3][j] = coul;
j++;
j++;
+ //Le mot "Tetris" est coloré en bleu foncé
coul = LED_BLEU_FONCE;
//T
matriceMessage[6][j] = coul;
@@ -330,6 +340,7 @@
}
pc.printf("\n");
}
+ //On "colle" les 16 premières colonnes du message sur la matrice
for(unsigned char i = 0; i < _col; i++) {
for(unsigned char j = 0; j < _lig; j++) {
_matrice[i][j] = matriceMessage[i][j];
@@ -337,6 +348,9 @@
}
}
+//Méthode de décalage vers le haut du message d'accueil
+//Entrées: aucune.
+//Sorties: aucune.
void cMatrice::decalerMatrice()
{
Serial pc (USBTX, USBRX);