Juegp de Reacción

Dependencies:   mbed

main.cpp

Committer:
pakemon9
Date:
2014-03-26
Revision:
0:50fb6e4169db

File content as of revision 0:50fb6e4169db:

#include "mbed.h"

BusOut dis_1(PTD5, PTA13, PTA1, PTD4, PTA12, PTD0, PTD2, PTA2); //displays
BusOut dis_2(PTD5, PTA13, PTA1, PTD4, PTA12, PTD0, PTD2, PTA2);
DigitalOut led_funciona(LED1);
DigitalOut led_juego(PTB0);         //led del juego
void apagar_led();
void reset();
DigitalIn b_player1(PTB1);        //boton p1
DigitalIn b_player2(PTB1);        //boton p2
InterruptIn b_reset(PTB2);              //reset
Ticker tiempo;
int tiempo_espera = 1;

struct players{
    char nombre;
    int puntaje;
    };
players jugador1 = {'a',0};
players jugador2 = {'b',0};

int main() {
    tiempo.attach(apagar_led, tiempo_espera);
    while(1) {
        b_reset.rise(reset);
        led_funciona = 0;
        
        /* Aquí debe de ir la función para hacer random el número, el numero random debe ser la variable tiempo_espera*/
        
        led_juego = 1;
        while(led_juego = 1){ 
            if(b_player1 == 1 && b_player2 == 0){
                 jugador1.puntaje += 1;
                 break;
                }
            else if(b_player1 == 0 && b_player2 == 1){
                 jugador2.puntaje += 1;
                 break;
                }
        }
       switch (jugador1.puntaje){
            case 0: 
                dis_1 = 63;
                break;
            case 1: 
                dis_1 = 6;
                break;
            case 2: 
                dis_1 = 91;
                break;
            case 3: 
                dis_1 = 79;
                break;
            case 4: 
                dis_1 = 102;
                break;
            case 5: 
                dis_1 = 109;
                break;
        } 
        switch (jugador2.puntaje){
            case 0: 
                dis_2 = 63;
                break;
            case 1: 
                dis_2 = 6;
                break;
            case 2: 
                dis_2 = 91;
                break;
            case 3: 
                dis_2 = 79;
                break;
            case 4: 
                dis_2 = 102;
                break;
            case 5: 
                dis_2 = 109;
                break;
        }    
        if (jugador1.puntaje == 5 || jugador2.puntaje == 5){
            jugador1.puntaje = 0;
            jugador2.puntaje = 0;
            }        
    }
}

void apagar_led(){
    led_juego = 0;
    }
    
void reset(){
    jugador1.puntaje = 0;
    jugador2.puntaje = 0;
    }