Zusammenfassung
In diesem Level geht es um das Darstellen von Text im Fenster. Außerdem integrieren wir verschiedene Schwierigkeitsstufen in unserem Spiel.
Thema | Voraussetzungen |
---|---|
Schwierigkeit | *** |
Hardware | PC (Windows/Mac/Linux), Android-Smartphone (optional) |
Software | Browser, Internetzugang, Processing IDE |
CatcherTutorial Level | 0,1,2,3,4,5 |
Programmierung | Aufruf von Funktionen, Variablen, Events (mousePressed), Bedingte Anweisung und Verzweigung (if, else)), Funktionen, for-Schleife, Klassen, Objekte, Instanzen, Konstruktor |
Aufgabe 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.
- 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.
Aufgabe 2
- 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.
Aufgabe 3
- 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;
Aufgabe 4 (optional)
- 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);