From 0157f69fb213bfdbaf723dfb306a5a9d2359cbae Mon Sep 17 00:00:00 2001 From: SimonDHG <@> Date: Wed, 29 Nov 2023 11:00:25 +0100 Subject: [PATCH] =?UTF-8?q?Auf=20die=20=C3=9Cl#tze=20Fertig=20Los?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Auto.java | 19 ++++++++++++++----- Fahrrad.java | 10 +++++++++- Fahrzeug.java | 24 ++++++++++++++---------- Fahrzeugtest.java | 10 ++++++++++ Krankenwagen.java | 6 ++++++ Rennen.java | 4 ++-- Rennwagen.java | 10 +++++++++- Wettrennen.java | 28 ++++++++++++++++++++++++++++ 8 files changed, 92 insertions(+), 19 deletions(-) create mode 100644 Fahrzeugtest.java create mode 100644 Wettrennen.java diff --git a/Auto.java b/Auto.java index ca60cce..b1300a1 100644 --- a/Auto.java +++ b/Auto.java @@ -2,9 +2,18 @@ class Auto extends Fahrzeug { public Auto(){ - super(140, 4); + super(4); + } + + public double getMaxSpeed(){ + return 140; + } + + + public String toString(){ + if (! (this instanceof Krankenwagen || this instanceof Rennwagen)){ + return "Das Auto" + super.toString(); + } + return super.toString(); + } } - protected Auto(double m ){ - super (m, 4); -} -} \ No newline at end of file diff --git a/Fahrrad.java b/Fahrrad.java index 96c2edb..1e4d72a 100644 --- a/Fahrrad.java +++ b/Fahrrad.java @@ -2,7 +2,15 @@ public class Fahrrad extends Fahrzeug { public Fahrrad(){ - super(30, 2); + super(2); } + + public double getMaxSpeed(){ + return 30; + } + + public String toString(){ + return "Das Fahrrad" + super.toString(); + } } diff --git a/Fahrzeug.java b/Fahrzeug.java index 6ca2177..4e0dbff 100644 --- a/Fahrzeug.java +++ b/Fahrzeug.java @@ -1,32 +1,36 @@ -public class Fahrzeug +public abstract class Fahrzeug { private double position; private double speed; - private double max; private int wheels; public void bewege( double time){ this.position += speed*time/60; + if (this instanceof Krankenwagen) { + System.out.println("TA-TÜ-TA-TAAAAAAA"); + } } - public void setSpeed(double s ) { - this.speed = s; - if (this.speed > this.max) this.speed = this.max; + public void setSpeed(double s) { + speed = s; + if (this. speed > this.getMaxSpeed()) this.speed = this.getMaxSpeed(); } - public double getMaxSpeed(){ - return this.max; - } + public abstract double getMaxSpeed(); public int getWheelCount(){ return this.wheels; } - public Fahrzeug(double m, int w){ + public Fahrzeug(int w){ this.position = 0; this.speed = 0; - this.max = m; this.wheels = w; } + + public String toString(){ + return " fährt aktuell " + this.speed + "km/h und hat schon eine Strecke von " + this.position + " zurückgelegt"; + + } } diff --git a/Fahrzeugtest.java b/Fahrzeugtest.java new file mode 100644 index 0000000..9355aa9 --- /dev/null +++ b/Fahrzeugtest.java @@ -0,0 +1,10 @@ +public class Fahrzeugtest +{ + public static void test(){ + Fahrzeug[] f = new Fahrzeug[5]; + f[0] = new Auto(); + f[1] = new Rennwagen(); + + + } +} diff --git a/Krankenwagen.java b/Krankenwagen.java index e48a35c..61cb638 100644 --- a/Krankenwagen.java +++ b/Krankenwagen.java @@ -8,11 +8,17 @@ public class Krankenwagen extends Auto blaulicht = false; } + public void turnOn() { blaulicht = true; } + public void turnOff(){ blaulicht = false; } + + public String toString(){ + return "Der Krankenwagen" + super.toString(); + } } diff --git a/Rennen.java b/Rennen.java index 94c3f6b..4cdb3f8 100644 --- a/Rennen.java +++ b/Rennen.java @@ -26,9 +26,9 @@ public class Rennen } public void durchfuehren(){ - while (true){ + /* while (true){ if - } + }*/ } diff --git a/Rennwagen.java b/Rennwagen.java index 5d8fba0..54a1196 100644 --- a/Rennwagen.java +++ b/Rennwagen.java @@ -2,6 +2,14 @@ public class Rennwagen extends Auto { public Rennwagen(){ - super(220); + super(); + } + + public double getMaxSpeed(){ + return 220; + } + + public String toString(){ + return "Der Rennwagen" + super.toString(); } } diff --git a/Wettrennen.java b/Wettrennen.java new file mode 100644 index 0000000..0fd4ccd --- /dev/null +++ b/Wettrennen.java @@ -0,0 +1,28 @@ +import java.util.ArrayList; +public class Wettrennen +{ + private ArrayList Teilnehmer = new ArrayList(); + + public void AufDiePlätze(){ + Teilnehmer.add(new Fahrrad()); + Teilnehmer.add(new Auto()); + Teilnehmer.add(new Rennwagen()); + Teilnehmer.add(new Krankenwagen()); + } + + public void Fertig(){ + Teilnehmer.get(0).setSpeed(20); + Teilnehmer.get(1).setSpeed(150); + Teilnehmer.get(2).setSpeed(200); + Teilnehmer.get(3).setSpeed(80); + Teilnehmer.get(0).bewege(4*60); + } + + public void Los(){ + for (int i = 1; i < Teilnehmer.size() + 1 ; i++){ + Teilnehmer.get(i - 1).bewege(60); + System.out.println(Teilnehmer.get(i - 1)); + } + } +} +