|
@@ -9,9 +9,9 @@ unsigned char gesamtpunktzahl;
|
|
const int red = 13, blue = 12, green = 11;
|
|
const int red = 13, blue = 12, green = 11;
|
|
byte wahl; //Erstellung der Variante von den Modeauswahlen
|
|
byte wahl; //Erstellung der Variante von den Modeauswahlen
|
|
byte eingabe[10]; //Erstellung der Eingabe der Auswahlen
|
|
byte eingabe[10]; //Erstellung der Eingabe der Auswahlen
|
|
-int rand(void); //Erstellung der Rand
|
|
|
|
bool prufmode=false;
|
|
bool prufmode=false;
|
|
bool gameover=false;
|
|
bool gameover=false;
|
|
|
|
+byte i;
|
|
|
|
|
|
void setup()
|
|
void setup()
|
|
{
|
|
{
|
|
@@ -19,16 +19,9 @@ void setup()
|
|
pinMode(red, OUTPUT);
|
|
pinMode(red, OUTPUT);
|
|
pinMode(green, OUTPUT);
|
|
pinMode(green, OUTPUT);
|
|
pinMode(blue, OUTPUT);
|
|
pinMode(blue, OUTPUT);
|
|
- pinMode(10, INPUT_PULLUP);
|
|
|
|
- pinMode(9, INPUT_PULLUP);
|
|
|
|
- pinMode(8, INPUT_PULLUP);
|
|
|
|
- pinMode(7, INPUT_PULLUP);
|
|
|
|
- pinMode(6, INPUT_PULLUP);
|
|
|
|
- pinMode(5, INPUT_PULLUP);
|
|
|
|
- pinMode(4, INPUT_PULLUP);
|
|
|
|
- pinMode(3, INPUT_PULLUP);
|
|
|
|
- pinMode(2, INPUT_PULLUP);
|
|
|
|
- pinMode(1, INPUT_PULLUP);
|
|
|
|
|
|
+ for(i=1;i<=10;i++){
|
|
|
|
+ pinMode(i, INPUT_PULLUP);
|
|
|
|
+ }
|
|
resetAllPins();
|
|
resetAllPins();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -39,7 +32,7 @@ void resetAllPins()
|
|
digitalWrite(green, LOW);
|
|
digitalWrite(green, LOW);
|
|
digitalWrite(blue, LOW);
|
|
digitalWrite(blue, LOW);
|
|
// Alle nachfolgenden Pins werden auf HIGH gesetzt, sodass sie auf ein GND/Masse-Signal reagieren können.
|
|
// Alle nachfolgenden Pins werden auf HIGH gesetzt, sodass sie auf ein GND/Masse-Signal reagieren können.
|
|
- digitalWrite(1, HIGH);
|
|
|
|
|
|
+ /* digitalWrite(1, HIGH);
|
|
digitalWrite(2, HIGH);
|
|
digitalWrite(2, HIGH);
|
|
digitalWrite(3, HIGH);
|
|
digitalWrite(3, HIGH);
|
|
digitalWrite(4, HIGH);
|
|
digitalWrite(4, HIGH);
|
|
@@ -48,7 +41,7 @@ void resetAllPins()
|
|
digitalWrite(7, HIGH);
|
|
digitalWrite(7, HIGH);
|
|
digitalWrite(8, HIGH);
|
|
digitalWrite(8, HIGH);
|
|
digitalWrite(9, HIGH);
|
|
digitalWrite(9, HIGH);
|
|
- digitalWrite(10, HIGH);
|
|
|
|
|
|
+ digitalWrite(10, HIGH);*/
|
|
}
|
|
}
|
|
|
|
|
|
void blink(const int *pin)
|
|
void blink(const int *pin)
|
|
@@ -70,6 +63,16 @@ wahl=menu();
|
|
resetAllPins();
|
|
resetAllPins();
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+void allblink(byte Mals)
|
|
|
|
+{
|
|
|
|
+ for(i=1;i<=Mals;i++)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(red, HIGH);digitalWrite(green, HIGH);digitalWrite(blue, HIGH);
|
|
|
|
+ delay(500);
|
|
|
|
+ digitalWrite(red, LOW);digitalWrite(green, LOW);digitalWrite(blue, LOW);
|
|
|
|
+ delay(500);
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
|
|
|
|
|
|
byte menu() //Code des Menus
|
|
byte menu() //Code des Menus
|
|
@@ -82,21 +85,24 @@ byte menu() //Code des Menus
|
|
blink(&red);
|
|
blink(&red);
|
|
if (digitalRead(2) == LOW) //Erscheinung des einfachen Modemenu
|
|
if (digitalRead(2) == LOW) //Erscheinung des einfachen Modemenu
|
|
{
|
|
{
|
|
- for(int i=1;i<=2;i++) //2 Mals blink
|
|
|
|
- {digitalWrite(red, HIGH);digitalWrite(green, HIGH);digitalWrite(blue, HIGH);
|
|
|
|
|
|
+ for(i=1;i<=2;i++) //2 Mals blink
|
|
|
|
+ {/*digitalWrite(red, HIGH);digitalWrite(green, HIGH);digitalWrite(blue, HIGH);
|
|
delay(500);
|
|
delay(500);
|
|
digitalWrite(red, LOW);digitalWrite(green, LOW);digitalWrite(blue, LOW);
|
|
digitalWrite(red, LOW);digitalWrite(green, LOW);digitalWrite(blue, LOW);
|
|
- delay(500);
|
|
|
|
|
|
+ delay(500);*/
|
|
|
|
+ allblink(2);
|
|
}
|
|
}
|
|
return 2;
|
|
return 2;
|
|
}
|
|
}
|
|
else if (digitalRead(3) == LOW) //Erscheinung des schwierigen Modemenu
|
|
else if (digitalRead(3) == LOW) //Erscheinung des schwierigen Modemenu
|
|
{
|
|
{
|
|
- for(int i=1;i<=3;i++) //3 Mals blink
|
|
|
|
- {digitalWrite(red, HIGH);digitalWrite(green, HIGH);digitalWrite(blue, HIGH);
|
|
|
|
|
|
+ for(i=1;i<=3;i++) //3 Mals blink
|
|
|
|
+ {/*digitalWrite(red, HIGH);digitalWrite(green, HIGH);digitalWrite(blue, HIGH);
|
|
delay(500);
|
|
delay(500);
|
|
digitalWrite(red, LOW);digitalWrite(green, LOW);digitalWrite(blue, LOW);
|
|
digitalWrite(red, LOW);digitalWrite(green, LOW);digitalWrite(blue, LOW);
|
|
- delay(500);}
|
|
|
|
|
|
+ delay(500);*/
|
|
|
|
+ allblink(3);
|
|
|
|
+ }
|
|
return 3;
|
|
return 3;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
@@ -110,10 +116,10 @@ void game() //unterprogramm vom Spiel
|
|
if(!prufmode)
|
|
if(!prufmode)
|
|
{
|
|
{
|
|
digitalWrite(green, HIGH);//Warten auf Eingabe
|
|
digitalWrite(green, HIGH);//Warten auf Eingabe
|
|
- for(int i=1;i<=10;i++) //Schleife der Eingabe
|
|
|
|
|
|
+ for(i=1;i<=10;i++) //Schleife der Eingabe
|
|
{if (digitalRead(i) == LOW)
|
|
{if (digitalRead(i) == LOW)
|
|
{
|
|
{
|
|
- for(int s=1;s<=i;s++){ //Die eingegebene Zahl gibt an, wie oft das grune Licht blinkt.
|
|
|
|
|
|
+ for(byte s=1;s<=i;s++){ //Die eingegebene Zahl gibt an, wie oft das grune Licht blinkt.
|
|
blink(&green);
|
|
blink(&green);
|
|
}
|
|
}
|
|
eingabe[j]=i; //Die eingegebene Zahl wird in Liste gespeichert.
|
|
eingabe[j]=i; //Die eingegebene Zahl wird in Liste gespeichert.
|
|
@@ -122,7 +128,7 @@ void game() //unterprogramm vom Spiel
|
|
j++;k=0;
|
|
j++;k=0;
|
|
digitalWrite(green, LOW);
|
|
digitalWrite(green, LOW);
|
|
if(wahl==3){ //schwierige Mode
|
|
if(wahl==3){ //schwierige Mode
|
|
- int a=rand()%10+1; //Randzahl:1-10
|
|
|
|
|
|
+ byte a=analogRead(0)%10+1; //Randzahl:1-10
|
|
eingabe[j]=a; //Die Ranzahl wird in Liste gespeichert.
|
|
eingabe[j]=a; //Die Ranzahl wird in Liste gespeichert.
|
|
j++;k=0;
|
|
j++;k=0;
|
|
for(int i=1;i<=a;i++){
|
|
for(int i=1;i<=a;i++){
|
|
@@ -135,7 +141,7 @@ void game() //unterprogramm vom Spiel
|
|
}
|
|
}
|
|
else //prufen der Eingabe
|
|
else //prufen der Eingabe
|
|
{digitalWrite(green, LOW);digitalWrite(blue, HIGH);
|
|
{digitalWrite(green, LOW);digitalWrite(blue, HIGH);
|
|
- for(int i=1;i<=10;i++)
|
|
|
|
|
|
+ for(i=1;i<=10;i++)
|
|
{if (digitalRead(i) == LOW) //Prufzahl eigeben
|
|
{if (digitalRead(i) == LOW) //Prufzahl eigeben
|
|
{
|
|
{
|
|
if(eingabe[k]==i) //Die eingegebene Zahl wird in Liste gespeichert.
|
|
if(eingabe[k]==i) //Die eingegebene Zahl wird in Liste gespeichert.
|
|
@@ -153,13 +159,14 @@ void game() //unterprogramm vom Spiel
|
|
}
|
|
}
|
|
if(gameover) //Gameover
|
|
if(gameover) //Gameover
|
|
|
|
|
|
- { for(int i=1;i<=j;i++){
|
|
|
|
- digitalWrite(red, HIGH);digitalWrite(green, HIGH);digitalWrite(blue, HIGH);
|
|
|
|
|
|
+ { for(i=1;i<=j;i++){
|
|
|
|
+ /*digitalWrite(red, HIGH);digitalWrite(green, HIGH);digitalWrite(blue, HIGH);
|
|
delay(500);
|
|
delay(500);
|
|
digitalWrite(red, LOW);digitalWrite(green, LOW);digitalWrite(blue, LOW);
|
|
digitalWrite(red, LOW);digitalWrite(green, LOW);digitalWrite(blue, LOW);
|
|
- delay(500);
|
|
|
|
|
|
+ delay(500);*/
|
|
|
|
+ allblink(j);
|
|
}
|
|
}
|
|
- for(int i=0;i>10;i++)
|
|
|
|
|
|
+ for(i=0;i>10;i++)
|
|
{eingabe[i]=0;}gameover=false;prufmode=false; //reset
|
|
{eingabe[i]=0;}gameover=false;prufmode=false; //reset
|
|
break;
|
|
break;
|
|
}
|
|
}
|