Laboratorio informática industrial 5

Dependencies:   mbed

main.cpp

Committer:
elchef
Date:
2014-03-26
Revision:
0:ab62d30dacdc
Child:
1:bc801083d70a

File content as of revision 0:ab62d30dacdc:

#include "mbed.h"

struct players {
    char name;
    int score;
} player1, player2;

DigitalOut myled(LED3);
BusOut Display1 (D4, D5, D8, D7, D6, D3, D2);
BusOut Display2 (PTD2, PTD3, PTE1, PTE0, PTD1, PTD0, PTB0);
InterruptIn Bplayer1 (PTC2);
InterruptIn Bplayer2 (PTC3);
DigitalIn Boton3 (PTC4);
int numero;
Timer tiempo;

void Player1Score()
{
    player1.score = player1.score+1;
    tiempo.reset();
}
void Player2Score()
{
    player2.score = player2.score+1;
    tiempo.reset();
}
int CeroAlNueve(int paso)
{
    int Valor = 0;
    switch (paso) {
        case 0:
            Valor = 63;
            break;
        case 1:
            Valor = 6;
            break;
        case 2:
            Valor = 91;
            break;
        case 3:
            Valor = 79;
            break;
        case 4:
            Valor = 102;
            break;
        case 5:
            Valor = 109;
            break;
        case 6:
            Valor = 125;
            break;
        case 7:
            Valor = 7;
            break;
        case 8:
            Valor = 127;
            break;
        case 9:
            Valor = 103;
            break;
    }
    return Valor;
}

void PrintDisplay(int puntos1, int puntos2)
{
    Display1 = CeroAlNueve(puntos1);
    Display2 = CeroAlNueve(puntos2);
}

int main ()
{
    tiempo.start();
    srand (time(NULL));
    player1.name = 'A';
    player2.name = 'B';
    numero =  rand() % 10 + 1;
    myled=1;

    while(1) {
        Bplayer1.rise(&Player1Score);
        Bplayer2.rise(&Player2Score);
        player1.name = 'A';
        player2.name = 'B';
        player1.score= 0;
        player2.score = 0;
        PrintDisplay(player1.score, player2.score);
        while(tiempo.read() >= numero) {
            myled=1;
        }
        if((player1.score || player2.score) == 10) {
            player1.score= 0;
            player2.score = 0;
        }
        if(Boton3 == 1) {
            return 0;
        }
    }
}