Catcher Game Tutorial Level 7

in #programming7 years ago

Zusammenfassung

In diesem Level fügen wir neue Zustände hinzu, um das Spiel zu starten und neu zu starten.

ThemaVoraussetzungen
Schwierigkeit:star: :star: :star:
HardwarePC (Windows/Mac/Linux), Android-Smartphone (optional)
SoftwareBrowser, Internetzugang, Processing IDE
CatcherTutorial Level0,1,2,3,4,5,6
ProgrammierungAufruf von Funktionen, Variablen, Events (mousePressed), Bedingte Anweisung und Verzweigung (if, else)), Funktionen, for-Schleife, Klassen, Objekte, Instanzen, Konstruktor

Aufgabe 1

  1. Erstelle einen neuen Zustand, der das Warten auf den Spielstart repräsentiert.
  2. Implementiere eine Klasse, die den Startbildschirm zeigt. Es reicht fürs erste, wenn dieser Screen ein Rechteck als Button enthält, auf dem START steht.
  3. Nun ist die Frage wie du den Button-Klick registrierst? Ganz einfach: Über die X und Y-Positionen des mousePressed-Events. Füge hierzu in der Einstiegsdatei auch die Y-Position mit ein.
if (mousePressed) {
  playerPosX = mouseX;
  playerPosY = mouseY;
}
  1. Wenn die X und Y-Position innerhalb des Bereiches des Rechtecks sind, wurde der Button geklickt. Leite dann in den nächsten Zustand über.

Mögliche Lösung

Aufgabe 2

  1. Erstelle einen (oder wenn nötige mehrere) Zustand/Zustände, um den erreichten Score anzuzeigen und das Spiel über einen Button neustarten zu können.
  2. Implementiere eine Klasse, die den Score zeigt und den Button zum Neustart darstellt. Tipp: Beachte, dass die X und Y-Position des Spielers nicht gleich den Button-Klick auf Restart auslösen sollen, wenn dieser aus Versehen in dem korrekten Bereich im Spiel war, wo später der Restart-Button liegt.
  3. Überlege dir, wie du alle Parameter des Game-Objektes (und alle, die damit zu tun haben) so zurücksetzt.

Mögliche Lösung

Aufgabe 3 (optional)

  1. Zentralisiere alle Variablen die du in der gesamten Anwendung vereinheitlicht haben möchtest in der Einstiegsdatei (Beispiel: Farben - Ich habe drei Hauptfarben. Dunkles Grau, Weiß und Gelb).
color darkGrey = color(45, 50, 50);
color yellow = color(255, 255, 0);
...
background(darkGrey);
...
c.setFill(yellow);

Mögliche Lösung

Aufgabe 4 (optional)

  1. Teste und spiele die Anwendung auch auf Android

Github Repository Catcher
Github Repository Tutorial