Created
November 11, 2013 20:17
-
-
Save GreenLightning/7419637 to your computer and use it in GitHub Desktop.
Simon Says
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int led[] = {4, 5, 6, 7}; | |
int taster[] = {8, 9, 10, 11}; | |
int zufallszahl[100] // Semikolon | |
int durchlauf = 0; | |
int tasterstatus[4] // Semikolon | |
void setup() | |
{ | |
for (int x = 0; x < 4; x++); // Das Semikolon trennt die Schleife von dem Codeblock | |
{ | |
pinMode(led[x] = OUTPUT); // Stimmt das mit dem Gleichheitszeichen? | |
} | |
for (int x = 0; x < 4; x++); | |
{ | |
pinMode(taster[x] = INPUT); | |
} | |
} | |
void loop() | |
{ | |
// Zu drückende LEDs werden angezeigt | |
for (int y = durchlauf; y <= durchlauf; y++) // y = durchlauf ? | |
{ | |
zufallszahl[y] = random(1, 5); | |
} | |
for (int x = 0; x <= durchlauf; x++) | |
{ | |
digitalWrite(zufallszahl[x], HIGH); | |
delay (1000); | |
digitalWrite(zufallszahl[x], LOW); | |
} | |
// Eingabe des Users | |
// Wieso benutzt du keine Methoden, wo du das schon so gut durch Kommentare getrennt und beschriftet hast? | |
for (int i = 0; i <= durchlauf; i++) | |
{ | |
// Um die Benutzereingabe zu lesen, brauchst du eine while-Schleife, die wartet bis irgendein Taster gedrückt wurde | |
// Es reicht glaube ich auch aus den Index des tasters zu speichern, der gedrückt wurde, anstelle von | |
// den Zuständen von allen Tastern in einem Array. | |
for (t = 0; t <= 4, t++) | |
{ | |
tasterstatus[t] = digitalWrite(taster[t]; // Klammer zu; benutzt man hier digitalWrite oder digitalRead? | |
} | |
if (tasterstatus[i] == HIGH && zufallszahl[i] == 1) // Wieso tasterstatus[i]? i ist der aktuelle Durchlauf | |
{ | |
digitalWrite(led[0]; HIGH); // Semikolon oder Komma? | |
delay (1500); | |
digitalWrite(led[0]; LOW); // Semikolon oder Komma? | |
} | |
else verloren(); // Auch wenn hier verloren aufgerufen wird, wird trotzdem der nachfolgende Code ausgeführt | |
if (tasterstatus[i] == HIGH && zufallszahl[i] == 2) | |
{ | |
digitalWrite(led[1]; HIGH); | |
delay(1500); | |
digitalWrite(led[1]; LOW); | |
} | |
else verloren(); | |
if (tasterstatus[i] == HIGH && zufallszahl[i] == 3) | |
{ | |
digitalWrite(led[2]; HIGH); | |
delay(1500); | |
digitalWrite(led[2]; LOW); | |
} | |
else verloren(); | |
if (tasterstatus[i] == HIGH && zufallszahl[i] == 4) | |
{ | |
digitalWrite(led[3]; HIGH); | |
delay(1500); | |
digitalWrite(led[3]; LOW); | |
} | |
else verloren(); | |
} | |
} | |
void verloren() | |
{ | |
// Hier meinst du wohl die ganzen leds? | |
// Auch hier wäre es sinnvoll daraus einen Methode zu machen, dann wäre der Code viel übersichtlicher | |
digitalWrite(ledG, HIGH); | |
digitalWrite(ledY, HIGH); | |
digitalWrite(ledW, HIGH); | |
digitalWrite(ledR, HIGH); | |
delay(500); | |
digitalWrite(ledG, LOW); | |
digitalWrite(ledY, LOW); | |
digitalWrite(ledW, LOW); | |
digitalWrite(ledR, LOW); | |
delay(500); | |
digitalWrite(ledG, HIGH); | |
digitalWrite(ledY, HIGH); | |
digitalWrite(ledW, HIGH); | |
digitalWrite(ledR, HIGH); | |
delay(500); | |
digitalWrite(ledG, LOW); | |
digitalWrite(ledY, LOW); | |
digitalWrite(ledW, LOW); | |
digitalWrite(ledR, LOW); | |
delay(500); | |
digitalWrite(ledG, HIGH); | |
digitalWrite(ledY, HIGH); | |
digitalWrite(ledW, HIGH); | |
digitalWrite(ledR, HIGH); | |
delay(500); | |
digitalWrite(ledG, LOW); | |
digitalWrite(ledY, LOW); | |
digitalWrite(ledW, LOW); | |
digitalWrite(ledR, LOW); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment