Mini projet LOO
Dependencies: mbed APDS_9960 mbed-rtos
Home du projet
Diff: src/cJeu.cpp
- Revision:
- 29:95469b25e187
- Parent:
- 26:0897d27b6961
- Child:
- 30:c647da947bd9
--- a/src/cJeu.cpp Wed Apr 20 14:18:18 2016 +0000 +++ b/src/cJeu.cpp Wed Apr 20 15:09:43 2016 +0000 @@ -18,7 +18,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 -cJeu::cJeu(unsigned char x, unsigned char y) +cJeu::cJeu(unsigned int x, unsigned int y) { //create the InterruptIn on the pin specified to Counter @@ -40,17 +40,11 @@ } //Accesseur qui retourne la valeur du score du joueur -unsigned char cJeu::get_score() +unsigned int cJeu::get_score() { return _score; } -//Accesseur qui retourne un pointeur sur la valeur du mouvement détecté -unsigned char *cJeu::getDetec() -{ - return &_detec; -} - //Mutateur pour la matrice void cJeu::set_matrice(cMatrice *mat) { @@ -59,16 +53,11 @@ //Mutateur pour le score -void cJeu::set_score(unsigned char sc) +void cJeu::set_score(unsigned int sc) { _score = sc; } -void cJeu::setDetec(unsigned char detec) -{ - _detec = detec; -} - void cJeu::setQueue(osMessageQId* queue, osPoolId* pool) { _queue = queue; @@ -91,9 +80,9 @@ void cJeu::nouvellePiece() { //On génère un nombre aléatoire entre 1 et 5 pour la pièce - unsigned char nb = 1 + ((float)rand()/RAND_MAX) * 5; + unsigned int nb = 1 + ((float)rand()/RAND_MAX) * 5; //On génère un deuxième nombre pour choisir la couleur de la pièce - unsigned char couleur = 1 + ((float)rand()/RAND_MAX) * 7; + unsigned int couleur = 1 + ((float)rand()/RAND_MAX) * 7; //Selon le nombre généré, on va créer une nouvelle pièce switch(nb) { //On crée une pièce "L" @@ -184,7 +173,7 @@ /*Méthode qui permet de voir s'il une ligne est complète. Entrées: aucune. -Sortie, une variable de type unsigned char égale à 1 si une ligne est complète, 0 le cas échéant. +Sortie, une variable de type unsigned int égale à 1 si une ligne est complète, 0 le cas échéant. Principe: On parcourt chaque LED de chaque ligne de la matrice. Si une LED n'est pas éteinte, alors on incrémente une variable. @@ -192,13 +181,13 @@ donc que la ligne est complète. Si une de ces lignes est complète, alors on fait descendre toutes les pièces au-dessus de la ligne(autres que celle de la manche) d'un cran. */ -unsigned char cJeu::ligneComplete() +unsigned int cJeu::ligneComplete() { - unsigned char total = 0, numLigne = 0; + unsigned int total = 0, numLigne = 0; //On parcourt chaque ligne de la matrice. - for( unsigned char i = 0; i < _mat->getLig(); i++) { + for( unsigned int i = 0; i < _mat->getLig(); i++) { total = 0; - for( unsigned char j = 0; j < _mat->getCol(); j++) { + for( unsigned int j = 0; j < _mat->getCol(); j++) { //Pour chaque LED de la ligne, si celle-ci n'est pas éteinte if(_mat->getValTab(j, i) != LED_NOIR) { //alors on incrémente une variable @@ -218,9 +207,9 @@ } //On descend toutes les LEDs allumées au dessus de numLigne d'un cran if(numLigne != 0) { - for( unsigned char i = 0; i < numLigne; i++) { + for( unsigned int i = 0; i < numLigne; i++) { total = 0; - for( unsigned char j = 0; j < _mat->getCol(); j++) { + for( unsigned int j = 0; j < _mat->getCol(); j++) { _mat->setValTab(j, i, _mat->getValTab(j-1, i)); } } @@ -262,8 +251,8 @@ pc.printf("Perdu!! \n\r"); wait(0.1); //On colore toute la matrice en bleue - for(unsigned char i = 0; i < _mat->getLig(); i++) { - for(unsigned char j = 0; j < _mat->getCol(); j++) { + for(unsigned int i = 0; i < _mat->getLig(); i++) { + for(unsigned int j = 0; j < _mat->getCol(); j++) { _mat->setValTab(i, j, LED_BLEU_FONCE); } }