diff --git a/src/aliensimulator/predators/HishQuTen.java b/src/aliensimulator/predators/HishQuTen.java new file mode 100644 index 0000000000000000000000000000000000000000..c65210b4965d8d2091327b5e72c929a3738c364e --- /dev/null +++ b/src/aliensimulator/predators/HishQuTen.java @@ -0,0 +1,17 @@ +package aliensimulator.predators; + +import aliens_3rdparty.NeutralBesuchen; +import aliensimulator.verhalten.ErdeNeutralAdapter; + +public class HishQuTen extends Predator { + + public HishQuTen() { + this.setErdeBesuchverhalten(new ErdeNeutralAdapter(new NeutralBesuchen())); + } + + @Override + public void darstellen() { + System.out.println("Ich bin ein Hish-Qu-Ten."); + } + +} diff --git a/src/aliensimulator/predators/Predator.java b/src/aliensimulator/predators/Predator.java new file mode 100644 index 0000000000000000000000000000000000000000..56bc7ed62aa9b06cf6acf75832f8514643781c7f --- /dev/null +++ b/src/aliensimulator/predators/Predator.java @@ -0,0 +1,26 @@ +package aliensimulator.predators; + +import aliensimulator.verhalten.ErdeBesuchverhalten; + +public abstract class Predator { + private ErdeBesuchverhalten erdeBesuchverhalten; + + public abstract void darstellen(); + + public void fliegen() { + System.out.println("Ich fliege durch den Weltraum."); + } + + public void erdeBesuchen(){ + erdeBesuchverhalten.erdeBesuchen(); + } + + public ErdeBesuchverhalten getErdeBesuchverhalten() { + return erdeBesuchverhalten; + } + + public void setErdeBesuchverhalten(ErdeBesuchverhalten erdeBesuchverhalten) { + this.erdeBesuchverhalten = erdeBesuchverhalten; + } + +} diff --git a/src/aliensimulator/predators/PredatorFactory.java b/src/aliensimulator/predators/PredatorFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..14ad9e3fe5367105689b17c33998c9d984611dd0 --- /dev/null +++ b/src/aliensimulator/predators/PredatorFactory.java @@ -0,0 +1,13 @@ +package aliensimulator.predators; + + +public class PredatorFactory { + + public Predator createPredator(String type) { + if (type.equals("yautja")) { + return new Yautja(); + } else if (type.equals("hishquten")) { + return new HishQuTen(); + } else return null; + } +} diff --git a/src/aliensimulator/predators/Yautja.java b/src/aliensimulator/predators/Yautja.java new file mode 100644 index 0000000000000000000000000000000000000000..b7aee7571ffa2fde5d25a05cf5b8303ec0788283 --- /dev/null +++ b/src/aliensimulator/predators/Yautja.java @@ -0,0 +1,17 @@ +package aliensimulator.predators; + +import aliens_3rdparty.ZerstoererischBesuchen; +import aliensimulator.verhalten.ErdeZerstoererischAdapter; + +public class Yautja extends Predator { + + public Yautja() { + this.setErdeBesuchverhalten(new ErdeZerstoererischAdapter()); + } + + @Override + public void darstellen() { + System.out.println("Ich bin ein Yautja."); + } + +}