Simon

Dependencies:   mbed

Revision:
3:1610e2f8803b
Parent:
2:f45bd4655817
Child:
4:ddba0fd2caa4
--- a/main.cpp	Tue May 28 11:41:17 2019 +0000
+++ b/main.cpp	Mon Jun 17 04:52:45 2019 +0000
@@ -35,7 +35,7 @@
 DigitalOut Verde(LED2);
 DigitalOut Azul(LED3);
 
-void invierte(); 
+void invierte();
 void simon();
 char Pulsador ();
 void leds(int num); // led(0b000) = apagados,  led(0b100) = rojo, led(0b010) = Verde, led(0b001) = Azul, led(0b111) = Blanco,
@@ -88,7 +88,7 @@
     static int i;
     switch(estado) {
         case ESTADO_COMENZAR:
-        //Espero que pulsen un pulsador para empezar
+            //Espero que pulsen un pulsador para empezar
             times = 0;
             if(pulsador != 0 && flagPulsador == 1) {
                 leds(0b000);
@@ -106,7 +106,7 @@
                 sec[i] = rand() % 3 + 1;
             }
             nivelSec = 1;
-            posJuego = 0;
+            posSec = 0;
             posJuego = 0;
             estado = ESTADO_MUESTREO;
             times = 0;
@@ -128,7 +128,7 @@
                     }
                     switch(sec[posSec]) {
                         case 1:
-                        //Muestro LED rojo
+                            //Muestro LED rojo
                             leds(0b100);
                             if(times > 5) {
                                 times = 0;
@@ -138,7 +138,7 @@
                             }
                             break;
                         case 2:
-                        //Muestro LED verde
+                            //Muestro LED verde
                             leds(0b010);
                             if(times > 5) {
                                 apagado = 1;
@@ -148,7 +148,7 @@
                             }
                             break;
                         case 3:
-                        //Muestro LED azul
+                            //Muestro LED azul
                             leds(0b001);
                             if(times > 5) {
                                 apagado = 1;
@@ -178,7 +178,7 @@
             }
             break;
         case ESTADO_JUEGO:
-        //Detecto si el jugador tarda mucho tiempo en apretar un boton
+            //Detecto si el jugador tarda mucho tiempo en apretar un boton
             if (espera > 50) {
                 printf("Tardaste demaciado tiempo en elegir\r\n");
                 estado = ESTADO_PERDER;
@@ -216,7 +216,7 @@
                             estado = ESTADO_GANAR;
                         } else {
                             //Si no llegué al máximo nivel paso de nivel
-                            printf("\nPasaste al nivel %d!\r\n\n", r);
+                            printf("\nPasaste al nivel %d!\r\n\n", nivelSec);
                             posSec = 0;
                             posJuego = 0;
                             estado = ESTADO_MUESTREO;
@@ -236,7 +236,7 @@
             }
             break;
         case ESTADO_PERDER:
-        //Prendo el LED blanco para mostrar que termino el juego y vuelvo al estado COMENZAR
+            //Prendo el LED blanco para mostrar que termino el juego y vuelvo al estado COMENZAR
             printf("\nPerdiste Bro :(\r\n");
             printf("Apreta cualquier boton para reiniciar!\r\n\n");
             leds(0b111);
@@ -244,7 +244,7 @@
             break;
 
         case ESTADO_GANAR:
-        //Mustro el LED blanco para mostrar que termino el juego y aviso que completo la secuencia
+            //Mustro el LED blanco para mostrar que termino el juego y aviso que completo la secuencia
             printf("\nGANASTE!!! :)\r\n\n");
             printf("Apreta cualquier boton para reiniciar!\r\n\n");
             leds(0b111);
@@ -289,6 +289,11 @@
     //Funcion que aciva un flag con el cambio del pulsador y guarda el pulsado en una variable
     pulsador = 0;
 
+    if (PR.rising()) {
+        flagPulsador = 1;
+        pulsador = 1;
+        return 0;
+    }
     if (PV.rising()) {
         flagPulsador = 1;
         pulsador = 2;
@@ -299,11 +304,6 @@
         pulsador = 3;
         return 0;
     }
-    if (PR.rising()) {
-        flagPulsador = 1;
-        pulsador = 1;
-        return 0;
-    }
 
     pulsador = 0;
     flagPulsador = 0;