Mini projet LOO

Dependencies:   mbed APDS_9960 mbed-rtos

Dependents:   MoveYourTetris_OK

Home du projet

src/cScore.cpp

Committer:
Willheisen
Date:
2016-04-24
Revision:
40:08490d120ec4
Parent:
38:418278e5eb6b

File content as of revision 40:08490d120ec4:

#include "cScore.h"

//Constructeur par défaut
cScore::cScore()
{
    int i, j;
    //On éteint chaque LED pour chaque tableau 2D qui repréente un chiffre.    
    for(i=0; i<5 ; i++) {
        for(j=0; j<4; j++) {
            zero[i][j]= LED_NOIR;
            un[i][j]= LED_NOIR;
            deux[i][j]= LED_NOIR;
            trois[i][j]= LED_NOIR;
            quatre[i][j]= LED_NOIR;
            cinq[i][j]= LED_NOIR;
            six[i][j]= LED_NOIR;
            sept[i][j]= LED_NOIR;
            huit[i][j]= LED_NOIR;
            neuf[i][j]= LED_NOIR;
        }
    }
    //Pour chaque tableau 2D, on allume les LEDs pour afficher un chiffre
    //0
    j=0;
    zero[1][j]=LED_BLANC;
    zero[2][j]=LED_BLANC;
    zero[3][j]=LED_BLANC;
    j++;
    zero[0][j]=LED_BLANC;
    zero[4][j]=LED_BLANC;
    j++;
    zero[0][j]=LED_BLANC;
    zero[4][j]=LED_BLANC;
    j++;
    zero[1][j]=LED_BLANC;
    zero[2][j]=LED_BLANC;
    zero[3][j]=LED_BLANC;
    //1
    j=0;
    un[0][j]=LED_BLANC;
    un[3][j]=LED_BLANC;
    j++;
    un[0][j]=LED_BLANC;
    un[1][j]=LED_BLANC;
    un[2][j]=LED_BLANC;
    un[3][j]=LED_BLANC;
    un[4][j]=LED_BLANC;
    j++;
    un[0][j]=LED_BLANC;
    j++;
    un[0][j]=LED_BLANC;
    //2
    j=0;
    deux[0][j]=LED_BLANC;
    deux[3][j]=LED_BLANC;
    j++;
    deux[0][j]=LED_BLANC;
    deux[1][j]=LED_BLANC;
    deux[4][j]=LED_BLANC;
    j++;
    deux[0][j]=LED_BLANC;
    deux[2][j]=LED_BLANC;
    deux[4][j]=LED_BLANC;
    j++;
    deux[0][j]=LED_BLANC;
    deux[3][j]=LED_BLANC;
    //3
    j=0;
    trois[0][j]=LED_BLANC;
    trois[2][j]=LED_BLANC;
    trois[4][j]=LED_BLANC;
    j++;
    trois[0][j]=LED_BLANC;
    trois[2][j]=LED_BLANC;
    trois[4][j]=LED_BLANC;
    j++;
    trois[0][j]=LED_BLANC;
    trois[1][j]=LED_BLANC;
    trois[2][j]=LED_BLANC;
    trois[3][j]=LED_BLANC;
    trois[4][j]=LED_BLANC;
    //4
    j=0;
    quatre[2][j]=LED_BLANC;
    quatre[3][j]=LED_BLANC;
    quatre[4][j]=LED_BLANC;
    j++;
    quatre[2][j]=LED_BLANC;
    j++;
    quatre[0][j]=LED_BLANC;
    quatre[1][j]=LED_BLANC;
    quatre[2][j]=LED_BLANC;
    quatre[3][j]=LED_BLANC;
    quatre[4][j]=LED_BLANC;
    //5
    j=0;
    cinq[0][j]=LED_BLANC;
    cinq[2][j]=LED_BLANC;
    cinq[3][j]=LED_BLANC;
    cinq[4][j]=LED_BLANC;
    j++;
    cinq[0][j]=LED_BLANC;
    cinq[2][j]=LED_BLANC;
    cinq[4][j]=LED_BLANC;
    j++;
    cinq[0][j]=LED_BLANC;
    cinq[1][j]=LED_BLANC;
    cinq[2][j]=LED_BLANC;
    cinq[4][j]=LED_BLANC;
    //6
    j=0;
    six[0][j]=LED_BLANC;
    six[1][j]=LED_BLANC;
    six[2][j]=LED_BLANC;
    six[3][j]=LED_BLANC;
    six[4][j]=LED_BLANC;
    j++;
    six[0][j]=LED_BLANC;
    six[2][j]=LED_BLANC;
    six[4][j]=LED_BLANC;
    j++;
    six[0][j]=LED_BLANC;
    six[1][j]=LED_BLANC;
    six[2][j]=LED_BLANC;
    six[4][j]=LED_BLANC;
    //7
    j=0;
    sept[0][j]=LED_BLANC;
    sept[1][j]=LED_BLANC;
    sept[4][j]=LED_BLANC;
    j++;
    sept[2][j]=LED_BLANC;
    sept[4][j]=LED_BLANC;
    j++;
    sept[3][j]=LED_BLANC;
    sept[4][j]=LED_BLANC;
    //8
    j=0;
    huit[0][j]=LED_BLANC;
    huit[1][j]=LED_BLANC;
    huit[2][j]=LED_BLANC;
    huit[3][j]=LED_BLANC;
    huit[4][j]=LED_BLANC;
    j++;
    huit[0][j]=LED_BLANC;
    huit[2][j]=LED_BLANC;
    huit[4][j]=LED_BLANC;
    j++;
    huit[0][j]=LED_BLANC;
    huit[1][j]=LED_BLANC;
    huit[2][j]=LED_BLANC;
    huit[3][j]=LED_BLANC;
    huit[4][j]=LED_BLANC;
    j=0;
    neuf[0][j]=LED_BLANC;
    neuf[2][j]=LED_BLANC;
    neuf[3][j]=LED_BLANC;
    neuf[4][j]=LED_BLANC;
    j++;
    neuf[0][j]=LED_BLANC;
    neuf[2][j]=LED_BLANC;
    neuf[4][j]=LED_BLANC;
    j++;
    neuf[0][j]=LED_BLANC;
    neuf[1][j]=LED_BLANC;
    neuf[2][j]=LED_BLANC;
    neuf[3][j]=LED_BLANC;
    neuf[4][j]=LED_BLANC;
}

//Méthode qui va associé un chiffre à son tableau 2D correspondant.
//Entrées: -chiffre: entier pour le chiffre à afficher
//         -i et j: entiers qui correspondent aux coordonnées X Y de la LED du chiffre à allumer
//Sorties: entier sur 8 bits qui correspond à la couleur de la LED aux coordonnées X Y.
unsigned char cScore::getChiffre(int chiffre, int i, int j)
{
    unsigned char res;
    switch (chiffre) {
        case 0: {
            res = zero[i][j];
            break;
        }
        case 1: {
            res = un[i][j];
            break;
        }
        case 2: {
            res = deux[i][j];
            break;
        }
        case 3: {
            res = trois[i][j];
            break;
        }
        case 4: {
            res = quatre[i][j];
            break;
        }
        case 5: {
            res = cinq[i][j];
            break;
        }
        case 6: {
            res = six[i][j];
            break;
        }
        case 7: {
            res = sept[i][j];
            break;
        }
        case 8: {
            res = huit[i][j];
            break;
        }
        case 9: {
            res = neuf[i][j];
            break;
        }
        default:
        {}
    }
    return res;
}