Paso 3: Añadir el código
Comience con un abrir y cerrar sin ejemplo de retraso para poder entender el proyecto final.
Una vez hecho esto, cargue el proyecto final. Asegúrese de que esté seleccionada la junta adecuada! Tienes tres vidas, cada vez que haga clic en el botón cuando la luz no está encendida el LED del medio, pierdes una vida. Una vez que te quedas sin vidas, se reinicia el juego. Al hacer clic en el botón cuando la luz está en el centro LED, la roca de luces más rápido. Gracias y buena suerte!
Aquí está el código
int LEDpos = 1;
int leds [] = {1,2,3,4,5,6,7,8,9}; int ledStateA = bajo; var de int = 10; int estado = 0; int tecla = 13; int vidas = 3;
ledState se utiliza para establecer el previousMillis largo del LED = 0; almacenará la última vez actualizó a LED
largo intervalo de tiempo = 500; intervalo en el que a parpadear (milisegundos)
void setup() {//All LED se establece como salida para (int a = 2; a < 11; a ++) {pinMode (, OUTPUT);} pinMode (botón, entrada); Serial.Begin(9600); }
void loop() {if(lives==0) //Setting a partir de intervalo {intervalo = 500;}
Detectar si se presiona if(digitalRead(button) == LOW) {Serial.println("pressed"); if(LEDpos==6) / botón fue presionado en el LED del medio!! {intervalo / = 1.5; / / reducir intervalo; LED parpadea más rápido //Blink LED del medio dos veces para usuario aviso ganó! digitalWrite(6,HIGH); Delay(200); digitalWrite(6,LOW); Delay(200); digitalWrite(6,HIGH); Delay(200); digitalWrite(6,LOW); Serial.println ("nivel a"); } else / / botón fue presionado pero no en el centro LED :( {delay(200); digitalWrite (LED [1], HIGH); vidas--; / / usuario perdido una vida} if(lives==0) {intervalo = 500; Serial.println ("juego largo"); }} sin firmar largo currentMillis = millis();
Si (currentMillis - previousMillis > intervalo) {if(status==0) {si (LEDpos > 9) estado = 1; otro LEDpos ++;} if(status==1) //Reached el inicio {si (LEDpos < 3) estado = 0; else {LEDpos--; if(LEDpos == 2) estado = 0;}} / / guardar la última vez que titilaba el LED previousMillis = currentMillis; //Turn apaga todos los LEDs para (int x = 2; x < = 10; x ++) {digitalWrite (x, LOW);}
Encienda el LED digitalWrite (LEDpos, alto); }
}