Mini projet LOO

Dependencies:   mbed APDS_9960 mbed-rtos

Dependents:   MoveYourTetris_OK

Home du projet

Revision:
38:418278e5eb6b
Parent:
37:a08a58f5e9aa
Child:
40:08490d120ec4
--- a/src/cJeu.cpp	Sun Apr 24 20:15:03 2016 +0000
+++ b/src/cJeu.cpp	Sun Apr 24 21:35:57 2016 +0000
@@ -1,13 +1,9 @@
 #include "cJeu.h"
-
 #include "rtos.h"
-
-/////////////////////////////////////
 #include "cScore.h"
 
 
 
-
 //Constructeur par défaut
 cJeu::cJeu()
 {
@@ -17,6 +13,7 @@
 //Second constructeur:
 //Il crée de crée une matrice de x LEDs de large sur y LEDS de HAUT,
 //avec la broche pin comme entrée d'interruption si détection de mouvement du capteur
+//Entrées: x: nombre de colonnes, y: nombre de lignes
 cJeu::cJeu(unsigned char x, unsigned char y)
 {
     // On met le score à 0
@@ -72,7 +69,6 @@
 }
 
 //Méthode d'initialisation de la liaison SPI et de la matrice RGB
-
 void cJeu::initialiser()
 {
     //paramètres: fréquence 100kHz (maximum pour la matrice RGB 125KHz)
@@ -83,12 +79,13 @@
     _mat->clear();
     _spi.envoyerMatrice(*_mat);
     wait(1);
-    ///////////////////////////////////////////////////////////////////////
+    // On affiche le début du message d'accueil MoveYourTetris
     _mat->messageAccueil();
     _spi.envoyerMatrice(*_mat);
     wait(1);
     int i;
     i=0;
+    //On décale le message pour affichage
     while(i<51) {//67 - 16= nbColonnes du message - nbLignes de la matrice
         _mat->decalerMatrice();
         _spi.envoyerMatrice(*_mat);
@@ -110,11 +107,13 @@
             _spi.envoyerMatrice(*_mat);
         }
     }
+    //Enfin on efface la matrice
     _mat->clear();
     _spi.envoyerMatrice(*_mat);
 }
 
 //Méthode de création d'une nouvelle pièce de manière pseudo-aléatoire
+//Entrées
 void cJeu::nouvellePiece()
 {
     //On génère un nombre aléatoire entre 1 et 5 pour la pièce
@@ -314,18 +313,22 @@
             perdu = true;
         }
 
-///////////////////////////////////////////////////////////////////////
+        //Tant que la pièce en cours peut descendre
         while(col.bordBas(*_ptrForme, *_mat) == false && col.pieceBas(*_ptrForme, *_mat) == false && !perdu) {
+            //On lit la message queue
             osEvent evt = osMessageGet(*_queue, 500);
             if (evt.status == osEventMessage) {
                 message_t *message = (message_t*)evt.value.p;
+                //et on récupère la valeur du mouvement détecté
                 _mvt = message->val;
                 osPoolFree(*_pool, message);
+                //Si pas de mouvement reçu
             } else {
                 _mvt = 0;
             }
             pc.printf("Valeur envoyee = %d\n", _mvt);
-            //wait(0.5);
+            //Selon la valeur du mouvement, on effectue le mouvement de la pièce correspondant.
+            //A chaque fois, on test de non-collision est fait avant de faire le mouvement.
             switch(_mvt) {
                 case 1: {
                     pc.printf("Rotation...");
@@ -374,6 +377,7 @@
         }
         delete _ptrForme;
         pc.printf("Suppression du pointeur\n");
+        //On regarde si des lignes sont complètes
         while(ligneComplete()==1){
             pc.printf("Ligne complete\n");
             pc.printf("score: %d\n", _score);