Spiel verbessern
Immer wieder büxt ein Tier aus
Bisher wird das Spielfeld immer leerer. Spannender wird es, wenn während des
Spiels neue Tiere ausbüxen.
Dafür ergänzen wir die Methode act des Spielfelds - hier sind
zwei Vorschläge:
// Vorschlag 1
if((1..50).random() == 1) {
addObject(Ausreisser(), 300, 200)
}
// Vorschlag 2
if(schritte % 50 == 0) {
addObject(Ausreisser(), 300, 200)
}
(1..50).random() würfelt eine Zufallszahl von 1 bis 50.
Der Operator % (sprich: modulo) liefert den Rest einer
Division: 17 % 5 ergibt 2, denn 17 geteilt durch 5
ist 3, Rest 2.
Aufgabe 1
Aufgabe 2
Nicht immer dieselbe Katze
Bisher sehen alle Tiere gleich aus, denn im init-Block der Klasse
Ausreisser steht das Bild fest.
Schöner wäre es, wenn bei jedem neuen Tier der Zufall entscheidet, welches
Tier ausbüxt.
Im Ordner images liegen dafür z.B. cat.png,
dog.png, frog.png, penguin.png und
pig.png.
Die Idee: Du würfelst eine Zufallszahl und setzt je nach Ergebnis mit einer Fallunterscheidung ein anderes Bild.
init {
val nummer = (1..3).random()
// Setze je nach Wert von nummer eines der Bilder
// cat.png, dog.png oder frog.png.
}
Aufgabe 3
Hilfe zum zufälligen Bild
Du brauchst eine Fallunterscheidung mit mehreren Fällen, wie du sie bei
Tierisch Glücklich kennengelernt hast:
Wenn nummer == 1 gilt, setzt du das erste Bild,
sonst prüfst du mit else if auf nummer == 2 und
setzt das zweite Bild - und im else-Fall das dritte.
Aufgabe 4
rotation hilft dir dabei: Es enthält die
Blickrichtung in Grad, also einen Wert von 0 bis 359.
Aufgabe 5
World hat dafür
die Methode setBackground - schau im Abschnitt BluePlay
nach, wie du sie benutzt.
Dein eigenes Spiel
Jetzt ist das Spiel deins. Im Ordner images liegen noch mehr
Bilder - neben den Tieren zum Beispiel auch apple.png,
pizza.png, hamburger.png und
icecream.png.
Du kannst also genauso gut Essen wegklicken statt Tiere einzufangen - dann
passt du die Klassennamen und den Namen des Spiels einfach an.