Simon

Dependencies:   mbed

Revision:
1:78297550b459
Parent:
0:a49a5f50d6bc
Child:
2:f45bd4655817
--- a/main.cpp	Mon May 27 11:31:15 2019 +0000
+++ b/main.cpp	Mon May 27 11:41:23 2019 +0000
@@ -12,7 +12,12 @@
 #error TARGET NOT DEFINED
 #endif
 
-
+#define ESTADO_COMENZAR     0
+#define ESTADO_REINICIO     1
+#define ESTADO_MUESTREO     2
+#define ESTADO_JUEGO        3
+#define ESTADO_PERDER       4
+#define ESTADO_GANAR        5
 
 #define NIVELES 25
 
@@ -41,7 +46,7 @@
 int times    = 0, espera = 0;;
 bool flagPulsador = 0;
 char pulsador = 0;
-char estado = 0;
+char estado = ESTADO_COMENZAR;
 
 bool timer1 = 0, timer2 = 0, timer3 = 0;
 bool pulsador1 = 1, pulsador2 = 1, pulsador3 = 1;
@@ -80,17 +85,17 @@
 {
     static int i;
     switch(estado) {
-        default:
+        case ESTADO_COMENZAR:
             times = 0;
             if(pulsador != 0 && flagPulsador == 1) {
                 leds(0b000);
                 printf("Comencemos: \r\n\n");
-                estado = 1;
+                estado = ESTADO_REINICIO;
                 flagPulsador = 0;
             }
             break;
 
-        case 1:
+        case ESTADO_REINICIO:
             //Reinicio la secuencia
             srand (semilla*4920*1912);
             for(i = 0; i <= NIVELES ; i ++) {
@@ -99,17 +104,17 @@
             r = 1;
             t = 0;
             pos = 0;
-            estado = 2;
+            estado = ESTADO_MUESTREO;
             times = 0;
             l = 0;
             break;
 
-        case 2:
+        case ESTADO_MUESTREO:
             //Muestro la secuencia
             if(l) {
                 if (apagado == 0) {
                     if(t >= r) {
-                        estado = 3;
+                        estado = ESTADO_JUEGO;
                         printf("\nA jugar Bro :) \r");
                         printf("\r\n\n");
                         espera = 0;
@@ -160,10 +165,10 @@
                 }
             }
             break;
-        case 3:
+        case ESTADO_JUEGO:
             if (espera > 50) {
                 printf("Tardaste demaciado tiempo en elegir\r\n");
-                estado = 4;
+                estado = ESTADO_PERDER;
                 break;
             }
             if(flagPulsador) {
@@ -190,21 +195,18 @@
                         r++;
                         printf("\n\t--------------------------------\r");
                         if (r == NIVELES + 1) {
-                            printf("\nGANASTE!!! :)\r\n\n");
-                            printf("Apreta cualquier boton para reiniciar!\r\n\n");
-                            leds(0b111);
-                            estado = 0;
+                            estado = ESTADO_GANAR;
                         } else {
                             printf("\nPasaste al nivel %d!\r\n\n", r);
                             t = 0;
                             pos = 0;
-                            estado = 2;
+                            estado = ESTADO_MUESTREO;
                             l = 0;
                             times = 0;
                         }
                     }
                 } else {
-                    estado = 4;
+                    estado = ESTADO_PERDER;
                 }
             }
             if (times > 5) {
@@ -212,11 +214,18 @@
 
             }
             break;
-        case 4:
+        case ESTADO_PERDER:
             printf("\nPerdiste Bro :(\r\n");
             printf("Apreta cualquier boton para reiniciar!\r\n\n");
             leds(0b111);
-            estado = 0;
+            estado = ESTADO_COMENZAR;
+            break;
+
+        case ESTADO_GANAR:
+            printf("\nGANASTE!!! :)\r\n\n");
+            printf("Apreta cualquier boton para reiniciar!\r\n\n");
+            leds(0b111);
+            estado = ESTADO_COMENZAR;
             break;
     }
 }
@@ -254,7 +263,7 @@
 char Pulsador()
 {
     pulsador = 0;
-    
+
     if (PV.rising()) {
         flagPulsador = 1;
         pulsador = 2;
@@ -270,7 +279,7 @@
         pulsador = 1;
         return 0;
     }
-    
+
     pulsador = 0;
     flagPulsador = 0;
     return 0;