aboutsummaryrefslogtreecommitdiff
path: root/Auto.java
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2024-07-12 11:36:39 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2024-07-12 11:36:39 +0200
commite4816f3ce603f3f986c2806933afb518bce2c3ad (patch)
tree6c869462c2c3204813588da05aaa750e4612fee5 /Auto.java
downloadrennbahn-e4816f3ce603f3f986c2806933afb518bce2c3ad.tar.gz
rennbahn-e4816f3ce603f3f986c2806933afb518bce2c3ad.zip
initial commit of a simple action race
Diffstat (limited to 'Auto.java')
-rw-r--r--Auto.java85
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);
+ }
+ }
+}