Hilfe bei einen Schulprojekt

Hallo,
ich brauche Hilfe bei meinen Schulprojekt ich hab schon bereits etwas gemacht komm leider aber nicht weiter meine Aufgaben sind: Ziel: Der Nutzer soll die komplette LED-Matrix ausmalen(von Calliope Mini).
Stufen:

  1. Der Spieler soll einen Punkt auf der LED-Matrix steuern. Dazu soll er die vier Pins benutzen:
    Pin 0 = links
    Pin 1 = unten
    Pin 2 = rechts
    Pin 3 = oben
    Der Punkt darf dabei nicht die LED-Matrix verlassen.
  2. Bereits besuchte Felder sollen mit der Helligkeit 1 weiterleuchten.
    Falls der Spieler alle Felder besucht hat, soll er das Spiel gewonnen haben und bekommt dies
    angezeigt.
  3. Falls der Spieler beim Ausmalen auf ein besuchtes Feld trifft, verliert er das Spiel und
    bekommt dies angezeigt.
    Kann mir dabei irgend wer helfen?
    Ich hab schon Stufe 1 fertig sowie Stufe 2 fast fertig.

Hallo Malon,
für Stufe 3 brauchst du den Block „gib LED Helligkeit“ aus dem Aktionenblock im Expertenmodus. Die Überprüfung könnte so aussehen:
gibHelligkeit
Ich hoffe, das hilft dir weiter.

Für die Überprüfung, ob die Matrix verlassen wird, hätte ich zwei Vorschläge:
Vorschlag 1:
Bei x/y < 0 oder > 4 auch direkt: Spiel verloren. Das hat der Spieler in deiner Variante ja ohnehin, weil mit deiner Zuweisung der Punkt auf seinem alten Platz bleibt.
Vorschlag 2:
Umbruch: aus < 0 wird 4 (Sprung zum Spalten-/Zeilenende), aus > 4 wird 0 (Sprung zum Spalten-/Zeilenanfang). Dann bleibt noch eine Chance für den Spieler.

So viele Wege nach Rom… ich war gedanklich sofort bei den Listen/Arrays. Aber die Helligkeit wieder aus zu lesen ist natürlich naheliegender.
Und für das Verlassen der Matrix: Befehl nur ausführen, wenn man noch nicht am Rand ist, ansonsten einfach ignorieren (und nicht verlieren). Dann brauchst X auch nur ein mal geschrieben zu werden und nicht zweimal.

Um die einzelnen Schritte besser zu erkennen kannst du anstelle der Warte ms Blöcke auch auf bestimmte Ereignisse warten: Zuerst, bis ein Pin gedrückt wurde und danach, bis kein Pin mehr gedrückt ist. So verhinderst du, dass ein zu lange gedrückter Pin als zwei Eingaben verarbeitet wird.

Die Idee Liste hatte ich auch, aber sie wäre m. E. nur einfach, wenn es in NEPO mehrdimensionale Listen gäbe.Daher kam ich auf die Abfrage der Helligkeit.

Schön finde ich aber die dritte Möglichkeit, das Verlassen der Matrix zu behandeln. Dann könnte z. B. ein kurzes Aufleuchten der RGB-LED dem Spieler signalisieren, dass er eine ungültige Eingabe gemacht hat und einen anderen Pin drücken muss (= neue Chance).

Außerdem ist die Abfrage, ob gerade kein Pin gedrückt ist, defintiv sinnvoll. Das Problem mit zu langem Drücken eines Pins und somit falscher Verarbeitung in der Folge hatte ich in anderen Programmen auch schon.

Mehrdimensional muss die Liste ja nicht sein. Wenn die werte als String geschrieben werden müssen sie nur einmalig sein. X und Y zu einem String verbinden, in die Liste schreiben und zum Prüfen schauen, ob der String in der Liste vorkommt (wie im Screenshot im Post oben).

Ist aber blöd abzufragen. :wink: Oder?

1 „Gefällt mir“