From 09255a328328f77428fb35182673a2b5248f10f5 Mon Sep 17 00:00:00 2001 From: Peter Hertkorn <peter.hertkorn@reutlingen-university.de> Date: Wed, 29 May 2024 09:08:13 +0200 Subject: [PATCH] Add Ufos and Komponenten --- src/aliensimulator/AlienSimulator.java | 11 +++ src/aliensimulator/ufos/Sternenkreuzer.java | 16 +++++ src/aliensimulator/ufos/Transportschiff.java | 16 +++++ src/aliensimulator/ufos/Ufo.java | 67 +++++++++++++++++++ .../ufos/komponenten/Antrieb.java | 5 ++ .../ufos/komponenten/Hyperantrieb.java | 8 +++ .../ufos/komponenten/Laserkanone.java | 8 +++ .../ufos/komponenten/Metaphasenschild.java | 8 +++ .../ufos/komponenten/Phaserkanone.java | 8 +++ .../ufos/komponenten/Schild.java | 5 ++ .../ufos/komponenten/Verteidigungsschild.java | 8 +++ .../ufos/komponenten/Waffe.java | 5 ++ .../ufos/komponenten/Warpantrieb.java | 8 +++ 13 files changed, 173 insertions(+) create mode 100644 src/aliensimulator/ufos/Sternenkreuzer.java create mode 100644 src/aliensimulator/ufos/Transportschiff.java create mode 100644 src/aliensimulator/ufos/Ufo.java create mode 100644 src/aliensimulator/ufos/komponenten/Antrieb.java create mode 100644 src/aliensimulator/ufos/komponenten/Hyperantrieb.java create mode 100644 src/aliensimulator/ufos/komponenten/Laserkanone.java create mode 100644 src/aliensimulator/ufos/komponenten/Metaphasenschild.java create mode 100644 src/aliensimulator/ufos/komponenten/Phaserkanone.java create mode 100644 src/aliensimulator/ufos/komponenten/Schild.java create mode 100644 src/aliensimulator/ufos/komponenten/Verteidigungsschild.java create mode 100644 src/aliensimulator/ufos/komponenten/Waffe.java create mode 100644 src/aliensimulator/ufos/komponenten/Warpantrieb.java diff --git a/src/aliensimulator/AlienSimulator.java b/src/aliensimulator/AlienSimulator.java index b355177..216b119 100644 --- a/src/aliensimulator/AlienSimulator.java +++ b/src/aliensimulator/AlienSimulator.java @@ -6,6 +6,7 @@ import aliensimulator.aliens.*; import aliensimulator.predators.Predator; import aliensimulator.predators.PredatorFactory; import aliensimulator.predators.Yautja; +import aliensimulator.ufos.Ufo; import aliensimulator.verhalten.ErdeFreundlichBesuchen; import aliensimulator.verhalten.ErdeNeutralAdapter; @@ -51,5 +52,15 @@ public class AlienSimulator { yautja.fliegen(); yautja.erdeBesuchen(); + // TODO create Alien Sternenkreuzer + // System.out.println(alienSternenkreuzer); + // TODO create Alien Transportschiff + //System.out.println(alienTransportschiff); + + // TODO create Predator Sternenkreuzer + //System.out.println(predatorSternenkreuzer); + // TODO create Predator Transportschiff + //System.out.println(predatorTransportschiff); + } } diff --git a/src/aliensimulator/ufos/Sternenkreuzer.java b/src/aliensimulator/ufos/Sternenkreuzer.java new file mode 100644 index 0000000..a501acc --- /dev/null +++ b/src/aliensimulator/ufos/Sternenkreuzer.java @@ -0,0 +1,16 @@ +package aliensimulator.ufos; + + +public class Sternenkreuzer extends Ufo { + + public Sternenkreuzer() { + super(); + } + + public void herstellen() { + } + + public String toString() { + return "Sternenkreuzer\n" + super.toString(); + } +} diff --git a/src/aliensimulator/ufos/Transportschiff.java b/src/aliensimulator/ufos/Transportschiff.java new file mode 100644 index 0000000..a71c777 --- /dev/null +++ b/src/aliensimulator/ufos/Transportschiff.java @@ -0,0 +1,16 @@ +package aliensimulator.ufos; + + +public class Transportschiff extends Ufo { + + public Transportschiff() { + super(); + } + + public void herstellen() { + } + + public String toString() { + return "Transportschiff\n" + super.toString(); + } +} diff --git a/src/aliensimulator/ufos/Ufo.java b/src/aliensimulator/ufos/Ufo.java new file mode 100644 index 0000000..0a30abb --- /dev/null +++ b/src/aliensimulator/ufos/Ufo.java @@ -0,0 +1,67 @@ +package aliensimulator.ufos; + +import aliensimulator.ufos.komponenten.Antrieb; +import aliensimulator.ufos.komponenten.Schild; +import aliensimulator.ufos.komponenten.Waffe; + +public abstract class Ufo { + String name; + Antrieb antrieb; + Schild schild; + Waffe waffe; + + public abstract void herstellen(); + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Antrieb getAntrieb() { + return antrieb; + } + + public void setAntrieb(Antrieb antrieb) { + this.antrieb = antrieb; + } + + public Schild getSchild() { + return schild; + } + + public void setSchild(Schild schild) { + this.schild = schild; + } + + public Waffe getWaffe() { + return waffe; + } + + public void setWaffe(Waffe waffe) { + this.waffe = waffe; + } + + + @Override + public String toString() { + StringBuffer result = new StringBuffer(); + result.append("Name: " + name + "\n"); + + if (antrieb != null) { + result.append(antrieb + "\n"); + } + + if (schild != null) { + result.append(schild + "\n"); + } + + if (waffe != null) { + result.append(waffe + "\n"); + } + + return result.toString(); + } +} diff --git a/src/aliensimulator/ufos/komponenten/Antrieb.java b/src/aliensimulator/ufos/komponenten/Antrieb.java new file mode 100644 index 0000000..d7f7fdc --- /dev/null +++ b/src/aliensimulator/ufos/komponenten/Antrieb.java @@ -0,0 +1,5 @@ +package aliensimulator.ufos.komponenten; + +public interface Antrieb { + public String toString(); +} diff --git a/src/aliensimulator/ufos/komponenten/Hyperantrieb.java b/src/aliensimulator/ufos/komponenten/Hyperantrieb.java new file mode 100644 index 0000000..a2e8d0a --- /dev/null +++ b/src/aliensimulator/ufos/komponenten/Hyperantrieb.java @@ -0,0 +1,8 @@ +package aliensimulator.ufos.komponenten; + +public class Hyperantrieb implements Antrieb { + @Override + public String toString() { + return "Hyperantrieb"; + } +} diff --git a/src/aliensimulator/ufos/komponenten/Laserkanone.java b/src/aliensimulator/ufos/komponenten/Laserkanone.java new file mode 100644 index 0000000..04def28 --- /dev/null +++ b/src/aliensimulator/ufos/komponenten/Laserkanone.java @@ -0,0 +1,8 @@ +package aliensimulator.ufos.komponenten; + +public class Laserkanone implements Waffe { + @Override + public String toString() { + return "Laserkanone"; + } +} \ No newline at end of file diff --git a/src/aliensimulator/ufos/komponenten/Metaphasenschild.java b/src/aliensimulator/ufos/komponenten/Metaphasenschild.java new file mode 100644 index 0000000..7139e88 --- /dev/null +++ b/src/aliensimulator/ufos/komponenten/Metaphasenschild.java @@ -0,0 +1,8 @@ +package aliensimulator.ufos.komponenten; + +public class Metaphasenschild implements Schild { + @Override + public String toString() { + return "Metaphasenschild"; + } +} \ No newline at end of file diff --git a/src/aliensimulator/ufos/komponenten/Phaserkanone.java b/src/aliensimulator/ufos/komponenten/Phaserkanone.java new file mode 100644 index 0000000..ff2b82c --- /dev/null +++ b/src/aliensimulator/ufos/komponenten/Phaserkanone.java @@ -0,0 +1,8 @@ +package aliensimulator.ufos.komponenten; + +public class Phaserkanone implements Waffe { + @Override + public String toString() { + return "Phaserkanone"; + } +} \ No newline at end of file diff --git a/src/aliensimulator/ufos/komponenten/Schild.java b/src/aliensimulator/ufos/komponenten/Schild.java new file mode 100644 index 0000000..ccb0c1c --- /dev/null +++ b/src/aliensimulator/ufos/komponenten/Schild.java @@ -0,0 +1,5 @@ +package aliensimulator.ufos.komponenten; + +public interface Schild { + public String toString(); +} diff --git a/src/aliensimulator/ufos/komponenten/Verteidigungsschild.java b/src/aliensimulator/ufos/komponenten/Verteidigungsschild.java new file mode 100644 index 0000000..8b29b17 --- /dev/null +++ b/src/aliensimulator/ufos/komponenten/Verteidigungsschild.java @@ -0,0 +1,8 @@ +package aliensimulator.ufos.komponenten; + +public class Verteidigungsschild implements Schild { + @Override + public String toString() { + return "Verteidigungsschild"; + } +} \ No newline at end of file diff --git a/src/aliensimulator/ufos/komponenten/Waffe.java b/src/aliensimulator/ufos/komponenten/Waffe.java new file mode 100644 index 0000000..02cb6a7 --- /dev/null +++ b/src/aliensimulator/ufos/komponenten/Waffe.java @@ -0,0 +1,5 @@ +package aliensimulator.ufos.komponenten; + +public interface Waffe { + public String toString(); +} diff --git a/src/aliensimulator/ufos/komponenten/Warpantrieb.java b/src/aliensimulator/ufos/komponenten/Warpantrieb.java new file mode 100644 index 0000000..c2faa88 --- /dev/null +++ b/src/aliensimulator/ufos/komponenten/Warpantrieb.java @@ -0,0 +1,8 @@ +package aliensimulator.ufos.komponenten; + +public class Warpantrieb implements Antrieb { + @Override + public String toString() { + return "Warpantrieb"; + } +} -- GitLab