Spielprogrammierung mit Java
HomeAufgabenDruckenJava-Online

Aufgabe A2: Figur bewegen und drehen


Strassenrundfahrt

In dieser Aufgabe soll das bereits bekannte Programm aus Aufgabe 1 erweitert werden. Einerseits soll ein anderer Hintergrund angezeigt werden, andererseits soll das Auto Kurven fahren.

 

Als Vorlage kannst du dein eigenes Programm aus Aufgabe 1 oder folgendes Beispiel verwenden:

JGameA2.java im Online-Editor bearbeiten

 

 

 

Schritt 1: Auto drehen

Verwende neu als Hintergrundbild roadCircle.png. Setze das Auto an der Koordinatenposition (0, 0) ein und lasse es beim Auftreffen am Rand um 90° drehen. Überlege dir vorher, was wohl passiert.

Schritt 2: Auto am Rand des GameGrid entlang fahren lassen

Falls das Auto bereits problemlos entlang des Randes fährt, kann dieser Schritt übersprungen werden. Vermutlich aber hast du in Schritt 1 bemerkt, dass das Auto immer eine dreifache Drehung macht, bevor es weiterfährt. Ziel des zweiten Schrittes ist es, dass sich das Auto beim Auftreffen auf den Rand nur einmal dreht und bis zur nächsten Ecke weiterfährt und erst dort wieder um 90° dreht.

Schritt 3: Auto auf die Strasse setzen

Setze das Auto nun wieder an die Strasse, am besten auf die Position (1,1) zurück und führe das Programm aus. Überlege dir auch hier wieder vorgängig was passiert.

Schritt 4: Auf der Strasse fahren

Damit das Auto entlang der Strasse fährt, muss die Position des Autos anders überprüft werden. Grundsätzlich kannst du dazu folgenden Vergleich verwenden:

if (getLocation().equals(Location))

Es empfiehlt sich, zusätzlich vier Koordinatenpunkte (Locations) vorzudefinieren. Hier als Beispiel die Ecke oben links:

Location topLeft = new Location(x-Koordinate, y-Koordinate);

Extra: Auto auf der inneren Spur

Kannst du den Code so anpassen, dass das Auto auf der inneren Spur fährt? Es empfiehlt sich dabei, die bereits definierten Eckpunkte nur auszukommentieren, da diese später noch verwendet werden.

Extra anzeigen