Juegp de Reacción

Dependencies:   mbed

Revision:
0:50fb6e4169db
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Mar 26 21:31:18 2014 +0000
@@ -0,0 +1,95 @@
+#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;
+    }
\ No newline at end of file