diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2024-07-12 11:36:39 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2024-07-12 11:36:39 +0200 |
| commit | e4816f3ce603f3f986c2806933afb518bce2c3ad (patch) | |
| tree | 6c869462c2c3204813588da05aaa750e4612fee5 /Auto.java | |
| download | rennbahn-e4816f3ce603f3f986c2806933afb518bce2c3ad.tar.gz rennbahn-e4816f3ce603f3f986c2806933afb518bce2c3ad.zip | |
initial commit of a simple action race
Diffstat (limited to 'Auto.java')
| -rw-r--r-- | Auto.java | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/Auto.java b/Auto.java new file mode 100644 index 0000000..2441178 --- /dev/null +++ b/Auto.java @@ -0,0 +1,85 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot und MouseInfo) + +/** + * Steuerbares Auto. + */ +public class Auto extends Actor +{ + int geschwindigkeit; + String farbe = "blau"; + + /** + * Konstruktor der Klasse Auto + */ + + /** + * Act - tut, was auch immer Auto tun will. Diese Methode wird aufgerufen, + * sobald der 'Act' oder 'Run' Button in der Umgebung angeklickt werden. + */ + public void act() + { + pruefeTastatur(); + bewegen(); + pruefeKollision(); + } + + + + + + + + + + + + + + + + + void setzeFarbe(String farbe) { + if (farbe.equals("blau")) { + setImage("car01-n.png"); + } + else if (farbe.equals("rot")) { + setImage("car02-n.png"); + } + else if (farbe.equals("gruen")) { + setImage("car03-n.png"); + } + else { + + } + } + + void pruefeTastatur() { + if (Greenfoot.isKeyDown("left")) { + turn(-3); + } + + if (Greenfoot.isKeyDown("right")) { + turn(3); + } + } + + void bewegen() { + // Die Orientierung des Objekts und des Bildes sind um 90 Grad versetzt + int rotation = getRotation(); + setRotation(rotation-90); + move(geschwindigkeit); + setRotation(rotation); + + if (isTouching(Ziel.class)) { + ((Rennbahn)getWorld()).angekommen(this); + } + } + + void pruefeKollision() { + if (isTouching(Rakete.class)) { + getWorld().addObject(new Explosion(), getX(), getY()); + removeTouching(Rakete.class); + getWorld().removeObject(this); + } + } +} |
