Catcher Game Tutorial Level 6

in #programming7 years ago

Zusammenfassung

In diesem Level geht es um das Darstellen von Text im Fenster. Außerdem integrieren wir verschiedene Schwierigkeitsstufen in unserem Spiel.

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

Aufgabe 1

  1. Wir möchten auf dem Fenster den derzeitigen Score und die Anzahl der Leben sichtbar machen. Schaue dir die Tutorials über Typography und Strings and Drawing Text an.
  2. Erstelle eine neue Klasse, die für das Darstellen der beiden Werte zuständig ist. Platziere die Werte beliebig auf dem Spielbereich (oben links und oben rechts zum Beispiel). Die Schrift und Schriftgrößen können in der Einstiegsdatei spezifiziert werden.

Mögliche Lösung

Aufgabe 2

  1. Schön wäre es, wenn sich die Schwierigkeit mit fortgeschrittenen Punkten erhöht. Dies kann zum Beispiel durch die Fallgeschwindigkeit beeinflusst werden. Implementiere verschiedene Grenzen, an denen sich die Geschwindigkeit der herunterfallenden Objekte erhöht.

Mögliche Lösung

Aufgabe 3

  1. Derzeit kann die Anzahl der Leben negativ werden. Das sollte natürlich nicht so sein! Wir führen das Konzept eines Zustands ein. Für das Spiel gibt es derzeit zwei Zustände. Das Spiel läuft und Das Spiel ist verloren. Implementiere in der Einstiegsdatei diese zwei Zustände. Solange Das Spiel läuft soll die draw-Methode execute() aufrufen. Wenn das Spiel verloren ist, nicht mehr. Ändere den Status auf Das Spiel ist verloren, sobald die Lebenszahl auf 0 geht.
final int stateGameRunning = 0;
final int stateGameEnd = 1;
int state = stateGameRunning;

Mögliche Lösung

Aufgabe 4 (optional)

  1. Derzeit wird die Schrift den Größen nicht angepasst. Implementiere daher einen Skalierungsfaktor für die Größe der Schrift in Abhängigkeit zur Fenstergröße. Für den Desktop musst du ein bisschen ausprobieren um herauszufinden, welche Größen dir passen. Bei Android ist dies einfacher. Hier kannst du den eingebauten Faktor displayDensity verwenden.
float scale;
...
scale = displayDensity;
normalFont = createFont("SansSerif", textWidth * scale);

Github Repository Catcher
Github Repository Tutorial

Coin Marketplace

STEEM 0.18
TRX 0.15
JST 0.028
BTC 63177.41
ETH 2439.37
USDT 1.00
SBD 2.58