-
Notifications
You must be signed in to change notification settings - Fork 0
/
Locomotive.java
56 lines (49 loc) · 1.8 KB
/
Locomotive.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.List;
/**
* Repräsentation einer Lokomotive, d.h. einem RailVehicle, das als Teil eines Trains auf Tracks bewegt werden kann.
*
* @author Leonard Bienbeck
* @version 1.0.0
*/
public class Locomotive extends RailVehicle
{
/**
* Erzeugt eine Locomotive. Ihre Bewegungsrichtung ist RIGHT.
*/
public Locomotive() {
this.setDirection(Direction.RIGHT);
}
/**
* Erzeugt eine Locomotive mit gegebener initialer Bewegungsrichtung.
* @param initialDirection Die gegebene initiale Bewegungsrichtung
*/
public Locomotive(Direction initialDirection) {
super();
this.setDirection(initialDirection);
}
@Override
public void invertDirection(Gear newGear) {
super.invertDirection(newGear);
// Set image of locomotive according to current gear (forward / reverse)
if(newGear == Gear.BACKWARD) {
setImage("loc_reverse.png");
} else {
setImage("loc.png");
}
}
/**
* Diese Methode wird vom Greenfoot-Framework aufgerufen, um Actors die Möglichkeit
* zu geben, eine Aktion auszuführen. Bei jedem Aktionsschritt in der Umgebung wird die
* act-Methode jedes Objekts aufgerufen, in nicht spezifizierter Reihenfolge. Die
* Standardimplementierung tut nichts. Diese Methode kann in Unterklassen
* überschrieben werden, um die Aktion eines Akteurs zu implementieren.<br><br>
* Die Implementierung dieser Methode in Locomotive tut ebenfalls nichts, denn die
* Locomotive soll nicht durch ihre Act-Methode gesteuert werden.
*/
@Override
public void act()
{
// LOCOMOTIVES NO LONGER ACT, IT'S THEIR TRAINS!
}
}