Pio IX Jalle Ventiades 6b 2019

Dependencies:   mbed tsi_sensor MMA8451Q

Committer:
Jalle
Date:
Sun Jun 23 13:43:37 2019 +0000
Revision:
0:ad5829ebd588
Pio IX Jalle Ventiades 6b 2019

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jalle 0:ad5829ebd588 1 #include "mbed.h"
Jalle 0:ad5829ebd588 2 #include "tsi_sensor.h"
Jalle 0:ad5829ebd588 3 #include "MMA8451Q.h"
Jalle 0:ad5829ebd588 4 #include "math.h"
Jalle 0:ad5829ebd588 5
Jalle 0:ad5829ebd588 6 DigitalOut ledazul(LED_BLUE);
Jalle 0:ad5829ebd588 7 DigitalOut ledverde(LED_GREEN);
Jalle 0:ad5829ebd588 8 DigitalOut ledrojo(LED_RED);
Jalle 0:ad5829ebd588 9 DigitalIn enta(PTC7);
Jalle 0:ad5829ebd588 10 DigitalIn entb(PTC0);
Jalle 0:ad5829ebd588 11 DigitalIn entc(PTC3);
Jalle 0:ad5829ebd588 12
Jalle 0:ad5829ebd588 13
Jalle 0:ad5829ebd588 14 int e=0,cuenta=2,cantidad=1,estado=1,mal=0,nuevo=0,erro=0,b=1,demo=0,ap=4,cuenta2=0,temp1=0,temp2=0,temp3=0;
Jalle 0:ad5829ebd588 15 int dato[50];
Jalle 0:ad5829ebd588 16 Ticker tic2;
Jalle 0:ad5829ebd588 17 Ticker tic1;
Jalle 0:ad5829ebd588 18 void funcion();
Jalle 0:ad5829ebd588 19 void cuento();
Jalle 0:ad5829ebd588 20
Jalle 0:ad5829ebd588 21
Jalle 0:ad5829ebd588 22 int main(void)
Jalle 0:ad5829ebd588 23 {
Jalle 0:ad5829ebd588 24 tic2.attach(&funcion, 1); //Contador general 1seg
Jalle 0:ad5829ebd588 25 tic1.attach(&cuento, 0.01); //Contador del sistema de antirebote 10mseg
Jalle 0:ad5829ebd588 26
Jalle 0:ad5829ebd588 27 ledrojo=1; //Apagamos todo antes de empezar por las dudas
Jalle 0:ad5829ebd588 28 ledazul=1;
Jalle 0:ad5829ebd588 29 ledverde=1;
Jalle 0:ad5829ebd588 30 printf("Presione los botones en el siguiente orden: (verde=1)(rojo=2)(azul=3)\n");
Jalle 0:ad5829ebd588 31
Jalle 0:ad5829ebd588 32 while (true) {
Jalle 0:ad5829ebd588 33
Jalle 0:ad5829ebd588 34 switch (estado) { //Maquina de estados gemeral
Jalle 0:ad5829ebd588 35 default:
Jalle 0:ad5829ebd588 36 case 1: //Estado para generar colores
Jalle 0:ad5829ebd588 37
Jalle 0:ad5829ebd588 38 if(b!=cuenta) { //Generamos colores hasta que generamos todos los que necesitamos (cuenta nos dice cuantos)
Jalle 0:ad5829ebd588 39 dato[b]=rand() % (1+2)+1; //Dato almacena los colores
Jalle 0:ad5829ebd588 40 printf("%d\n",dato[b]);
Jalle 0:ad5829ebd588 41 b++; //b nos va a servir para llevar la cuenta internamente en muchos estados
Jalle 0:ad5829ebd588 42 cantidad++; //Cantidad almacena cuantos colores hay guardados
Jalle 0:ad5829ebd588 43
Jalle 0:ad5829ebd588 44 }
Jalle 0:ad5829ebd588 45
Jalle 0:ad5829ebd588 46
Jalle 0:ad5829ebd588 47 if(b==cuenta) { //Si b alcanzo a la cantidad que colores que tendriamos que tener generados, avanza
Jalle 0:ad5829ebd588 48 estado=2;
Jalle 0:ad5829ebd588 49 b=1; //Borramos esta variable para que los siguientes estados la puedan usar
Jalle 0:ad5829ebd588 50
Jalle 0:ad5829ebd588 51 }
Jalle 0:ad5829ebd588 52 break;
Jalle 0:ad5829ebd588 53
Jalle 0:ad5829ebd588 54 case 2: //Estado para mostrar los colores que hay que apretar luego
Jalle 0:ad5829ebd588 55
Jalle 0:ad5829ebd588 56 if(dato[b]==1) { //Si esta almacenado el verde, se muestra el verde
Jalle 0:ad5829ebd588 57 ledverde=0;
Jalle 0:ad5829ebd588 58 ledrojo=1;
Jalle 0:ad5829ebd588 59 ledazul=1;
Jalle 0:ad5829ebd588 60 }
Jalle 0:ad5829ebd588 61 if(dato[b]==2) {
Jalle 0:ad5829ebd588 62 ledverde=1;
Jalle 0:ad5829ebd588 63 ledrojo=0;
Jalle 0:ad5829ebd588 64 ledazul=1;
Jalle 0:ad5829ebd588 65 }
Jalle 0:ad5829ebd588 66 if(dato[b]==3) {
Jalle 0:ad5829ebd588 67 ledverde=1;
Jalle 0:ad5829ebd588 68 ledrojo=1;
Jalle 0:ad5829ebd588 69 ledazul=0;
Jalle 0:ad5829ebd588 70 }
Jalle 0:ad5829ebd588 71
Jalle 0:ad5829ebd588 72 if(e==1) { //Luego de 1seg mostrando un color, nos vamos al estado 7 para esperar 1seg
Jalle 0:ad5829ebd588 73 estado=7;
Jalle 0:ad5829ebd588 74
Jalle 0:ad5829ebd588 75 e=0; //Volvemos a poner en 0 la variable del ticker
Jalle 0:ad5829ebd588 76 ledverde=1; //Apagamos todo para esperar 1seg
Jalle 0:ad5829ebd588 77 ledrojo=1;
Jalle 0:ad5829ebd588 78 ledazul=1;
Jalle 0:ad5829ebd588 79 b++; //Guardamos que mostramos 1 color mas
Jalle 0:ad5829ebd588 80 }
Jalle 0:ad5829ebd588 81 if(b==cantidad) { //Si mostramos todos los colores que tenemos almacenados avanzamos a la siguiente etapa
Jalle 0:ad5829ebd588 82
Jalle 0:ad5829ebd588 83 estado=4;
Jalle 0:ad5829ebd588 84 cuenta2=0;
Jalle 0:ad5829ebd588 85 demo=0; //Ponemos en 0 todas las variables locales para que las siguientes etapas las puedan usar
Jalle 0:ad5829ebd588 86 e=0;
Jalle 0:ad5829ebd588 87 ledverde=1; //Apagamos leds
Jalle 0:ad5829ebd588 88 ledrojo=1;
Jalle 0:ad5829ebd588 89 ledazul=1;
Jalle 0:ad5829ebd588 90 b=1;
Jalle 0:ad5829ebd588 91 }
Jalle 0:ad5829ebd588 92 break;
Jalle 0:ad5829ebd588 93
Jalle 0:ad5829ebd588 94 case 4:
Jalle 0:ad5829ebd588 95
Jalle 0:ad5829ebd588 96
Jalle 0:ad5829ebd588 97 switch (temp1) { //Maquina de antirebote para el color rojo
Jalle 0:ad5829ebd588 98 case 0:
Jalle 0:ad5829ebd588 99 if(enta==0){//Esperamos a que se apriete el pulsador
Jalle 0:ad5829ebd588 100 temp1=1;//Vamos al estado 1
Jalle 0:ad5829ebd588 101
Jalle 0:ad5829ebd588 102 cuenta2=0;
Jalle 0:ad5829ebd588 103 }
Jalle 0:ad5829ebd588 104
Jalle 0:ad5829ebd588 105
Jalle 0:ad5829ebd588 106 break;
Jalle 0:ad5829ebd588 107 case 1:
Jalle 0:ad5829ebd588 108 if(cuenta2>=1) {//Esperamos que pasen 20mseg antes de poder avanzar, asi ignoramos el rebote
Jalle 0:ad5829ebd588 109 temp1=2;
Jalle 0:ad5829ebd588 110
Jalle 0:ad5829ebd588 111
Jalle 0:ad5829ebd588 112 e=0; //Ponemos en 0 el ticker otra vez
Jalle 0:ad5829ebd588 113 ledverde=1; //Prendemos el led rojo
Jalle 0:ad5829ebd588 114 ledrojo=0;
Jalle 0:ad5829ebd588 115 ledazul=1;
Jalle 0:ad5829ebd588 116 ap=2; //Guardamos que se pulso el led rojo
Jalle 0:ad5829ebd588 117 }
Jalle 0:ad5829ebd588 118 break;
Jalle 0:ad5829ebd588 119 case 2:
Jalle 0:ad5829ebd588 120 if(enta==1){ //Esperamos a que se despulse
Jalle 0:ad5829ebd588 121 temp1=3; //Vamos al siguiente estado
Jalle 0:ad5829ebd588 122 cuenta2=0;
Jalle 0:ad5829ebd588 123 }
Jalle 0:ad5829ebd588 124
Jalle 0:ad5829ebd588 125 break;
Jalle 0:ad5829ebd588 126 case 3:
Jalle 0:ad5829ebd588 127 if(cuenta2>=1) { //Esperamos 20mseg para ignorar el rebote
Jalle 0:ad5829ebd588 128 temp1=0;
Jalle 0:ad5829ebd588 129
Jalle 0:ad5829ebd588 130 //Todas las maquinas de antirebote son iguales, solo que correspondientes a su pulsador y color asociado.
Jalle 0:ad5829ebd588 131 }
Jalle 0:ad5829ebd588 132 break;
Jalle 0:ad5829ebd588 133 }
Jalle 0:ad5829ebd588 134
Jalle 0:ad5829ebd588 135
Jalle 0:ad5829ebd588 136 switch (temp2) { //Maquina de antirebote para el color verde
Jalle 0:ad5829ebd588 137 case 0:
Jalle 0:ad5829ebd588 138 if(entb==0){
Jalle 0:ad5829ebd588 139 temp2=1;
Jalle 0:ad5829ebd588 140 cuenta2=0;
Jalle 0:ad5829ebd588 141 }
Jalle 0:ad5829ebd588 142 break;
Jalle 0:ad5829ebd588 143 case 1:
Jalle 0:ad5829ebd588 144 if(cuenta2>=1) {
Jalle 0:ad5829ebd588 145 temp2=2;
Jalle 0:ad5829ebd588 146
Jalle 0:ad5829ebd588 147
Jalle 0:ad5829ebd588 148 e=0;
Jalle 0:ad5829ebd588 149 ledverde=0;
Jalle 0:ad5829ebd588 150 ledrojo=1;
Jalle 0:ad5829ebd588 151 ledazul=1;
Jalle 0:ad5829ebd588 152 ap=1;
Jalle 0:ad5829ebd588 153 }
Jalle 0:ad5829ebd588 154 break;
Jalle 0:ad5829ebd588 155 case 2:
Jalle 0:ad5829ebd588 156 if(entb==1){
Jalle 0:ad5829ebd588 157 temp2=3;
Jalle 0:ad5829ebd588 158 cuenta2=0;
Jalle 0:ad5829ebd588 159 }
Jalle 0:ad5829ebd588 160 break;
Jalle 0:ad5829ebd588 161 case 3:
Jalle 0:ad5829ebd588 162 if(cuenta2>=1) {
Jalle 0:ad5829ebd588 163 temp2=0;
Jalle 0:ad5829ebd588 164
Jalle 0:ad5829ebd588 165
Jalle 0:ad5829ebd588 166 }
Jalle 0:ad5829ebd588 167 break;
Jalle 0:ad5829ebd588 168 }
Jalle 0:ad5829ebd588 169 switch (temp3) { //Maquina de antirebote del color azul
Jalle 0:ad5829ebd588 170 case 0:
Jalle 0:ad5829ebd588 171 if(entc==0){
Jalle 0:ad5829ebd588 172 temp3=1;
Jalle 0:ad5829ebd588 173 cuenta2=0;
Jalle 0:ad5829ebd588 174 }
Jalle 0:ad5829ebd588 175 break;
Jalle 0:ad5829ebd588 176 case 1:
Jalle 0:ad5829ebd588 177 if(cuenta2>=1) {
Jalle 0:ad5829ebd588 178 temp3=2;
Jalle 0:ad5829ebd588 179
Jalle 0:ad5829ebd588 180
Jalle 0:ad5829ebd588 181 e=0;
Jalle 0:ad5829ebd588 182 ledverde=1;
Jalle 0:ad5829ebd588 183 ledrojo=1;
Jalle 0:ad5829ebd588 184 ledazul=0;
Jalle 0:ad5829ebd588 185 ap=3;
Jalle 0:ad5829ebd588 186 }
Jalle 0:ad5829ebd588 187 break;
Jalle 0:ad5829ebd588 188 case 2:
Jalle 0:ad5829ebd588 189 if(entc==1){
Jalle 0:ad5829ebd588 190 temp3=3;
Jalle 0:ad5829ebd588 191 cuenta2=0;
Jalle 0:ad5829ebd588 192 }
Jalle 0:ad5829ebd588 193 break;
Jalle 0:ad5829ebd588 194 case 3:
Jalle 0:ad5829ebd588 195 if(cuenta2>=1) {
Jalle 0:ad5829ebd588 196 temp3=0;
Jalle 0:ad5829ebd588 197
Jalle 0:ad5829ebd588 198
Jalle 0:ad5829ebd588 199 }
Jalle 0:ad5829ebd588 200 break;
Jalle 0:ad5829ebd588 201 } //Termina la maquina
Jalle 0:ad5829ebd588 202
Jalle 0:ad5829ebd588 203 if(ap!=4) { //AP es 4 cuando nada se aprieta, en caso de que no sea 4 significa que algo se apreto
Jalle 0:ad5829ebd588 204 if(ap==dato[b]&&e==1) { //Si lo que se apreto es igual a lo que habia que apretar, avanzamos (tambien hay que esperar a que pase 1seg)
Jalle 0:ad5829ebd588 205 b++; //Guardamos que avanzamos en 1
Jalle 0:ad5829ebd588 206 estado=5; //Si es correcto, vamos al estado 5 que es un clon de este estado
Jalle 0:ad5829ebd588 207 e=0;
Jalle 0:ad5829ebd588 208
Jalle 0:ad5829ebd588 209 ap=4; //Ponemos AP en 4 para que no nos cuente mas de 1 vez un solo apriete
Jalle 0:ad5829ebd588 210 ledverde=1; //Apagamos todo
Jalle 0:ad5829ebd588 211 ledrojo=1;
Jalle 0:ad5829ebd588 212 ledazul=1;
Jalle 0:ad5829ebd588 213
Jalle 0:ad5829ebd588 214 }
Jalle 0:ad5829ebd588 215 if(ap!=dato[b]&&e==1) { //Si el boton no corresponde con lo que habia que apretar, aplicamos la parte del error
Jalle 0:ad5829ebd588 216
Jalle 0:ad5829ebd588 217 estado=6;
Jalle 0:ad5829ebd588 218 e=0;
Jalle 0:ad5829ebd588 219 b=1; //Ponemos en 0 todo (o 1 en caso de b)
Jalle 0:ad5829ebd588 220 }
Jalle 0:ad5829ebd588 221 }
Jalle 0:ad5829ebd588 222 if(b==cuenta) { //Si avanzamos correctamente hasta el punto que no hay mas colores que apretar, significa que ganamos
Jalle 0:ad5829ebd588 223
Jalle 0:ad5829ebd588 224 cuenta++; //Guardamos que queremos 1 color mas
Jalle 0:ad5829ebd588 225 e=0;
Jalle 0:ad5829ebd588 226 estado=8;
Jalle 0:ad5829ebd588 227 }
Jalle 0:ad5829ebd588 228 if(b==24) { //Si llegamos a 24 significa que el juego termino
Jalle 0:ad5829ebd588 229
Jalle 0:ad5829ebd588 230 b=1;
Jalle 0:ad5829ebd588 231 e=0;
Jalle 0:ad5829ebd588 232 estado=6;
Jalle 0:ad5829ebd588 233 }
Jalle 0:ad5829ebd588 234
Jalle 0:ad5829ebd588 235 if(cuenta2>=3000) { //Si pasan 3 segundos sin tocar nada tambien se pierde significa que el juego termino
Jalle 0:ad5829ebd588 236
Jalle 0:ad5829ebd588 237 b=1;
Jalle 0:ad5829ebd588 238 e=0;
Jalle 0:ad5829ebd588 239 estado=6;
Jalle 0:ad5829ebd588 240 }
Jalle 0:ad5829ebd588 241
Jalle 0:ad5829ebd588 242 break;
Jalle 0:ad5829ebd588 243 case 5: //Clon del estado 4
Jalle 0:ad5829ebd588 244
Jalle 0:ad5829ebd588 245
Jalle 0:ad5829ebd588 246 switch (temp1) {
Jalle 0:ad5829ebd588 247 case 0:
Jalle 0:ad5829ebd588 248 if(enta==0){
Jalle 0:ad5829ebd588 249 temp1=1;
Jalle 0:ad5829ebd588 250 cuenta2=0;
Jalle 0:ad5829ebd588 251 }
Jalle 0:ad5829ebd588 252 break;
Jalle 0:ad5829ebd588 253 case 1:
Jalle 0:ad5829ebd588 254 if(cuenta2>=2) {
Jalle 0:ad5829ebd588 255 temp1=2;
Jalle 0:ad5829ebd588 256
Jalle 0:ad5829ebd588 257 e=0;
Jalle 0:ad5829ebd588 258 ledverde=1;
Jalle 0:ad5829ebd588 259 ledrojo=0;
Jalle 0:ad5829ebd588 260 ledazul=1;
Jalle 0:ad5829ebd588 261 ap=2;
Jalle 0:ad5829ebd588 262 }
Jalle 0:ad5829ebd588 263 break;
Jalle 0:ad5829ebd588 264 case 2:
Jalle 0:ad5829ebd588 265 if(enta==1){
Jalle 0:ad5829ebd588 266 temp1=3;
Jalle 0:ad5829ebd588 267 cuenta2=0;
Jalle 0:ad5829ebd588 268 }
Jalle 0:ad5829ebd588 269 break;
Jalle 0:ad5829ebd588 270 case 3:
Jalle 0:ad5829ebd588 271 if(cuenta2>=2) {
Jalle 0:ad5829ebd588 272 temp1=0;
Jalle 0:ad5829ebd588 273
Jalle 0:ad5829ebd588 274
Jalle 0:ad5829ebd588 275 }
Jalle 0:ad5829ebd588 276 break;
Jalle 0:ad5829ebd588 277 }
Jalle 0:ad5829ebd588 278
Jalle 0:ad5829ebd588 279
Jalle 0:ad5829ebd588 280 switch (temp2) {
Jalle 0:ad5829ebd588 281 case 0:
Jalle 0:ad5829ebd588 282 if(entb==0){
Jalle 0:ad5829ebd588 283 temp2=1;
Jalle 0:ad5829ebd588 284 cuenta2=0;
Jalle 0:ad5829ebd588 285 }
Jalle 0:ad5829ebd588 286 break;
Jalle 0:ad5829ebd588 287 case 1:
Jalle 0:ad5829ebd588 288 if(cuenta2>=2) {
Jalle 0:ad5829ebd588 289 temp2=2;
Jalle 0:ad5829ebd588 290
Jalle 0:ad5829ebd588 291
Jalle 0:ad5829ebd588 292 e=0;
Jalle 0:ad5829ebd588 293 ledverde=0;
Jalle 0:ad5829ebd588 294 ledrojo=1;
Jalle 0:ad5829ebd588 295 ledazul=1;
Jalle 0:ad5829ebd588 296 ap=1;
Jalle 0:ad5829ebd588 297 }
Jalle 0:ad5829ebd588 298 break;
Jalle 0:ad5829ebd588 299 case 2:
Jalle 0:ad5829ebd588 300 if(entb==1){
Jalle 0:ad5829ebd588 301 temp2=3;
Jalle 0:ad5829ebd588 302 cuenta2=0;
Jalle 0:ad5829ebd588 303 }
Jalle 0:ad5829ebd588 304 break;
Jalle 0:ad5829ebd588 305 case 3:
Jalle 0:ad5829ebd588 306 if(cuenta2>=2) {
Jalle 0:ad5829ebd588 307 temp2=0;
Jalle 0:ad5829ebd588 308
Jalle 0:ad5829ebd588 309
Jalle 0:ad5829ebd588 310 }
Jalle 0:ad5829ebd588 311 break;
Jalle 0:ad5829ebd588 312 }
Jalle 0:ad5829ebd588 313 switch (temp3) {
Jalle 0:ad5829ebd588 314 case 0:
Jalle 0:ad5829ebd588 315 if(entc==0){
Jalle 0:ad5829ebd588 316 temp3=1;
Jalle 0:ad5829ebd588 317 cuenta2=0;
Jalle 0:ad5829ebd588 318 }
Jalle 0:ad5829ebd588 319 break;
Jalle 0:ad5829ebd588 320 case 1:
Jalle 0:ad5829ebd588 321 if(cuenta2>=2) {
Jalle 0:ad5829ebd588 322 temp3=2;
Jalle 0:ad5829ebd588 323
Jalle 0:ad5829ebd588 324
Jalle 0:ad5829ebd588 325 e=0;
Jalle 0:ad5829ebd588 326 ledverde=1;
Jalle 0:ad5829ebd588 327 ledrojo=1;
Jalle 0:ad5829ebd588 328 ledazul=0;
Jalle 0:ad5829ebd588 329 ap=3;
Jalle 0:ad5829ebd588 330 }
Jalle 0:ad5829ebd588 331 break;
Jalle 0:ad5829ebd588 332 case 2:
Jalle 0:ad5829ebd588 333 if(entc==1){
Jalle 0:ad5829ebd588 334 temp3=3;
Jalle 0:ad5829ebd588 335 cuenta2=0;
Jalle 0:ad5829ebd588 336 }
Jalle 0:ad5829ebd588 337 break;
Jalle 0:ad5829ebd588 338 case 3:
Jalle 0:ad5829ebd588 339 if(cuenta2>=2) {
Jalle 0:ad5829ebd588 340 temp3=0;
Jalle 0:ad5829ebd588 341
Jalle 0:ad5829ebd588 342
Jalle 0:ad5829ebd588 343 }
Jalle 0:ad5829ebd588 344 break;
Jalle 0:ad5829ebd588 345 }
Jalle 0:ad5829ebd588 346
Jalle 0:ad5829ebd588 347
Jalle 0:ad5829ebd588 348 if(ap!=4) {
Jalle 0:ad5829ebd588 349 if(ap==dato[b]&&e==1) {
Jalle 0:ad5829ebd588 350 b++;
Jalle 0:ad5829ebd588 351 estado=4; //Si es correcto, vamos al estado 4 otra vez. Es un ciclo infinito
Jalle 0:ad5829ebd588 352 e=0;
Jalle 0:ad5829ebd588 353 ap=4;
Jalle 0:ad5829ebd588 354 ledverde=1;
Jalle 0:ad5829ebd588 355 ledrojo=1;
Jalle 0:ad5829ebd588 356 ledazul=1;
Jalle 0:ad5829ebd588 357
Jalle 0:ad5829ebd588 358 }
Jalle 0:ad5829ebd588 359 if(ap!=dato[b]&&e==1) {
Jalle 0:ad5829ebd588 360
Jalle 0:ad5829ebd588 361 estado=6;
Jalle 0:ad5829ebd588 362 e=0;
Jalle 0:ad5829ebd588 363 b=1;
Jalle 0:ad5829ebd588 364 }
Jalle 0:ad5829ebd588 365 }
Jalle 0:ad5829ebd588 366 if(b==cuenta) {
Jalle 0:ad5829ebd588 367
Jalle 0:ad5829ebd588 368 cuenta++;
Jalle 0:ad5829ebd588 369 e=0;
Jalle 0:ad5829ebd588 370 estado=8;
Jalle 0:ad5829ebd588 371 }
Jalle 0:ad5829ebd588 372 if(b==24) { //Si llegamos a 24 significa que el juego termino
Jalle 0:ad5829ebd588 373
Jalle 0:ad5829ebd588 374 b=1;
Jalle 0:ad5829ebd588 375 e=0;
Jalle 0:ad5829ebd588 376 estado=6;
Jalle 0:ad5829ebd588 377 }
Jalle 0:ad5829ebd588 378
Jalle 0:ad5829ebd588 379
Jalle 0:ad5829ebd588 380 if(cuenta2>=3000) { //Si pasan 3 segundos sin tocar nada tambien se pierde significa que el juego termino
Jalle 0:ad5829ebd588 381
Jalle 0:ad5829ebd588 382 b=1;
Jalle 0:ad5829ebd588 383 e=0;
Jalle 0:ad5829ebd588 384 estado=6;
Jalle 0:ad5829ebd588 385 }
Jalle 0:ad5829ebd588 386 break;
Jalle 0:ad5829ebd588 387 case 6:
Jalle 0:ad5829ebd588 388 //Estado de error
Jalle 0:ad5829ebd588 389 ledverde=1; //Apagamos todo
Jalle 0:ad5829ebd588 390 ledrojo=1;
Jalle 0:ad5829ebd588 391 ledazul=1;
Jalle 0:ad5829ebd588 392 ap=4;
Jalle 0:ad5829ebd588 393
Jalle 0:ad5829ebd588 394 cantidad=1; //Ponemos todas las variables para empezar desde 0 todo el juego
Jalle 0:ad5829ebd588 395 cuenta=2;
Jalle 0:ad5829ebd588 396 b=1;
Jalle 0:ad5829ebd588 397 if(e==1) {
Jalle 0:ad5829ebd588 398 estado=1; //Luego de esperar 1seg, vamos al estado 1 a empezar otra vez
Jalle 0:ad5829ebd588 399 printf("Presione los botones en el siguiente orden: (rojo=2)(verde=1)(azul=3)\n");
Jalle 0:ad5829ebd588 400 }
Jalle 0:ad5829ebd588 401 e=0;
Jalle 0:ad5829ebd588 402
Jalle 0:ad5829ebd588 403
Jalle 0:ad5829ebd588 404 case 7:
Jalle 0:ad5829ebd588 405
Jalle 0:ad5829ebd588 406 if(e==1)
Jalle 0:ad5829ebd588 407 estado=2;//Esperamos 1seg antes de mostrar el siguiente color
Jalle 0:ad5829ebd588 408 e=0;
Jalle 0:ad5829ebd588 409 break;
Jalle 0:ad5829ebd588 410 case 8:
Jalle 0:ad5829ebd588 411 if(e==1)
Jalle 0:ad5829ebd588 412 estado=1;//Esperamos 1seg antes de avanzar en el juego
Jalle 0:ad5829ebd588 413 e=0;
Jalle 0:ad5829ebd588 414 break;
Jalle 0:ad5829ebd588 415
Jalle 0:ad5829ebd588 416
Jalle 0:ad5829ebd588 417
Jalle 0:ad5829ebd588 418
Jalle 0:ad5829ebd588 419
Jalle 0:ad5829ebd588 420
Jalle 0:ad5829ebd588 421
Jalle 0:ad5829ebd588 422 }
Jalle 0:ad5829ebd588 423
Jalle 0:ad5829ebd588 424
Jalle 0:ad5829ebd588 425
Jalle 0:ad5829ebd588 426
Jalle 0:ad5829ebd588 427 }
Jalle 0:ad5829ebd588 428 }
Jalle 0:ad5829ebd588 429
Jalle 0:ad5829ebd588 430
Jalle 0:ad5829ebd588 431 void cuento()
Jalle 0:ad5829ebd588 432 {
Jalle 0:ad5829ebd588 433
Jalle 0:ad5829ebd588 434 cuenta2++; //Cuenta cada 10mseg para el sistema de antirebote
Jalle 0:ad5829ebd588 435
Jalle 0:ad5829ebd588 436 }
Jalle 0:ad5829ebd588 437 void funcion()
Jalle 0:ad5829ebd588 438 {
Jalle 0:ad5829ebd588 439
Jalle 0:ad5829ebd588 440 if(e==0) //Se pone en 1 cada 1seg
Jalle 0:ad5829ebd588 441 e=1;
Jalle 0:ad5829ebd588 442
Jalle 0:ad5829ebd588 443 }