#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int led1=1; //Lampen
int led2=2;
int led3=3;
int led4=4;
int buzzer=7; //Lautsprecher
int button=5; //Schalter
int buttonstate=0; //Variabel, um den Status des Schalters zu überprüfen
int a; //Variabel für das Spiel a, b, c
int b;
int c;
void setup(){
lcd.init();
lcd.backlight();
randomSeed(analogRead(A1)); //Zufallsgenerator
pinMode (led1,OUTPUT); //PinMode für LED
pinMode (led2,OUTPUT);
pinMode (led3,OUTPUT);
pinMode (led4,OUTPUT);
pinMode (buzzer,OUTPUT); //PinMode für Lautsprecher
pinMode (button, INPUT); //PinMode für Schalter
}
void loop(){
lcd.clear();
lcd.setCursor(1,0); //Start des Spieles
lcd.print("Willkommen bei");
lcd.setCursor(2,1);
lcd.print("LUCKY BANDIT!");
delay (750);
digitalWrite (led1, HIGH); //Lampen gehen bei Beginn des Spieles an
delay (300);
digitalWrite (led2, HIGH);
delay (300);
digitalWrite (led3, HIGH);
delay(300);
digitalWrite (led4, HIGH);
delay (2000);
lcd.clear ();
lcd.setCursor(3,0);
lcd.print ("Gewinn bei");
lcd.setCursor(2,1);
lcd.print ("666,999,333");
delay (2000);
lcd.clear();
lcd.setCursor(4,0);
lcd.print("Druecken");
lcd.setCursor(2,1);
lcd.print("zum Starten!");
delay (1000);
lcd.noDisplay();
delay(500);
lcd.display();
delay (500);
lcd.noDisplay();
delay(500);
lcd.display();
delay (500);
lcd.noDisplay();
delay(500);
lcd.display();
delay (2000);
digitalWrite (1, LOW);
delay (300);
digitalWrite (2, LOW);
delay (300);
digitalWrite (3, LOW);
delay (300);
digitalWrite (4, LOW);
buttonstate = digitalRead(button); // Status, ob Schalter gedrückt wird, wird geprüft
while(buttonstate == HIGH){ // --> Spieler drückt Schalter
lcd.clear ();
lcd.setCursor(0,0);
lcd.print("Spiel beginnt");
delay (300);
lcd.setCursor(13,0);
lcd.print(".");
delay (300);
lcd.setCursor(14,0);
lcd.print(".");
delay (300);
lcd.setCursor(15,0);
lcd.print(".");
for (int l; l<2; l=l+1) {
digitalWrite(2, HIGH);
delay (250);
digitalWrite (2, LOW);
digitalWrite (3,HIGH);
delay (250);
digitalWrite (3, LOW);
digitalWrite(4, HIGH);
delay (250);
digitalWrite (4, LOW);
delay (250);
digitalWrite (3, HIGH);
delay (250);
digitalWrite(3, LOW);
delay (250);
digitalWrite (2, HIGH);
delay (250);
digitalWrite (2,LOW);
delay (250);
digitalWrite (1, HIGH);
delay (250);
digitalWrite(1, LOW);
delay (250);
}
lcd.clear ();
lcd.setCursor(0,0);
lcd.print("Und ");
delay (300);
lcd.setCursor(3,0);
lcd.print(".");
delay (300);
lcd.setCursor(4,0);
lcd.print(".");
delay (300);
lcd.setCursor(5,0);
lcd.print(". ");
for (int l; l<4; l=l+1) {
digitalWrite(2, HIGH);
delay(150);
digitalWrite (2, LOW);
digitalWrite (3,HIGH);
delay (150);
digitalWrite (3, LOW);
digitalWrite(4, HIGH);
delay (150);
digitalWrite (4, LOW);
delay (150);
digitalWrite (3, HIGH);
delay (150);
digitalWrite(3, LOW);
delay (150);
digitalWrite (2, HIGH);
delay (150);
digitalWrite (2,LOW);
delay (150);
digitalWrite (1, HIGH);
delay (150);
digitalWrite(1, LOW);
delay (150);
}
lcd.clear ();
a=random(6,10);
lcd.setCursor(7,0);
lcd.print(a);
digitalWrite (1, HIGH);
digitalWrite (2, HIGH);
digitalWrite (3, HIGH);
digitalWrite (4, HIGH);
delay (150);
digitalWrite (1, LOW);
digitalWrite (2, LOW);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
if (a==8) { //Bei Gewinn --> Anzeige "GEWINN!", Lichtshow und Gewinnmusik
for (int g=0; g<6; g=g+1){
lcd.setCursor(3,1);
lcd.print ("GEWINN!");
delay (500);
digitalWrite (led1, HIGH);
delay (100);
digitalWrite (led1, LOW);
digitalWrite (led2, HIGH);
delay (100);
digitalWrite (led2, LOW);
digitalWrite (led3, HIGH);
delay(100);
digitalWrite (led3, LOW);
digitalWrite (led4, HIGH);
delay (100);
digitalWrite (led4, LOW);
}
lcd.clear ();
lcd.setCursor(3,0);
lcd.print ("Sehr gut!");
lcd.setCursor(2,1);
lcd.print("Weiter so!");
for (int j=0; j<3; j=j+1){
digitalWrite (led1, HIGH);
delay (100);
digitalWrite (led1, LOW);
digitalWrite (led2, HIGH);
delay (100);
digitalWrite (led2, LOW);
digitalWrite (led3, HIGH);
delay(100);
digitalWrite (led3, LOW);
digitalWrite (led4, HIGH);
delay (100);
digitalWrite (led4, LOW);
}
delay (1500);
lcd.clear ();
}
else { //Bei Nichtgewinn --> Anzeige "VERLOREN!", Lichtshow und Verlierermusik
for (int v=0; v<6; v=v+1) {
lcd.setCursor(3,1);
lcd.print ("VERLOREN!");
delay (300);
digitalWrite (1, HIGH);
digitalWrite (2, HIGH);
digitalWrite (3, HIGH);
digitalWrite (4, HIGH);
delay (300);
digitalWrite (1, LOW);
digitalWrite (2, LOW);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
delay (300);
}
lcd.clear ();
lcd.setCursor(4,0);
lcd.print("Schade!");
lcd.setCursor(1,1);
lcd.print("Nicht aufgeben!");
digitalWrite (led1, HIGH);
delay (300);
digitalWrite (led2, HIGH);
delay (300);
digitalWrite (led3, HIGH);
delay(300);
digitalWrite (led4, HIGH);
delay (300);
digitalWrite (1, LOW);
delay (300);
digitalWrite (2, LOW);
delay (300);
digitalWrite (3, LOW);
delay (300);
digitalWrite (4, LOW);
delay (300);
delay (3000);
lcd.clear ();
}
}
}