Browse Source

Verringerung der Byte, Anderung der Fallzahl, Hinzufugung des Unterprogramms(zum Blinken)

ZhaoXue 2 years ago
parent
commit
0cd59558d2
1 changed files with 34 additions and 27 deletions
  1. 34 27
      BELEG3.ino

+ 34 - 27
BELEG3.ino

@@ -9,9 +9,9 @@ unsigned char gesamtpunktzahl;
 const int red = 13, blue = 12, green = 11;
 byte wahl;                     //Erstellung der Variante von den Modeauswahlen
 byte eingabe[10];              //Erstellung der Eingabe der Auswahlen
-int rand(void);                //Erstellung der Rand
 bool prufmode=false;
 bool gameover=false;
+byte i;
 
 void setup()
 {
@@ -19,16 +19,9 @@ void setup()
     pinMode(red, OUTPUT);
     pinMode(green, 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();
 }
 
@@ -39,7 +32,7 @@ void resetAllPins()
     digitalWrite(green, LOW);
     digitalWrite(blue, LOW);
 	// 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(3, HIGH);
     digitalWrite(4, HIGH);
@@ -48,7 +41,7 @@ void resetAllPins()
     digitalWrite(7, HIGH);
     digitalWrite(8, HIGH);
     digitalWrite(9, HIGH);
-    digitalWrite(10, HIGH);
+    digitalWrite(10, HIGH);*/
 }
 
 void blink(const int *pin)
@@ -70,6 +63,16 @@ wahl=menu();
     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
@@ -82,21 +85,24 @@ byte menu()                   //Code des Menus
   blink(&red);
   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);
         digitalWrite(red, LOW);digitalWrite(green, LOW);digitalWrite(blue, LOW);
-        delay(500);
+        delay(500);*/
+        allblink(2);
        }
     return 2;
   }
   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);
       digitalWrite(red, LOW);digitalWrite(green, LOW);digitalWrite(blue, LOW);
-      delay(500);}
+      delay(500);*/
+      allblink(3);
+      }
     return 3;
   }
   else
@@ -110,10 +116,10 @@ void game()          //unterprogramm vom Spiel
   if(!prufmode)
   {
     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)
     {
-      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);
       }
       eingabe[j]=i;              //Die eingegebene Zahl wird in Liste gespeichert.
@@ -122,7 +128,7 @@ void game()          //unterprogramm vom Spiel
       j++;k=0;
       digitalWrite(green, LOW);
       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.
         j++;k=0;
         for(int i=1;i<=a;i++){
@@ -135,7 +141,7 @@ void game()          //unterprogramm vom Spiel
   }
   else                                 //prufen der Eingabe
         {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(eingabe[k]==i)      //Die eingegebene Zahl wird in Liste gespeichert.
@@ -153,13 +159,14 @@ void game()          //unterprogramm vom Spiel
           }
   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);
       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
     break;
     }