Skip to content

Instantly share code, notes, and snippets.

@GreenLightning
Created November 11, 2013 20:17
Show Gist options
  • Save GreenLightning/7419637 to your computer and use it in GitHub Desktop.
Save GreenLightning/7419637 to your computer and use it in GitHub Desktop.
Simon Says
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