diff --git a/.idea/modules/oolab.iml b/.idea/modules/oolab.iml index 7270d33..213d3f3 100644 --- a/.idea/modules/oolab.iml +++ b/.idea/modules/oolab.iml @@ -1,6 +1,6 @@ - + diff --git a/.idea/modules/oolab.main.iml b/.idea/modules/oolab.main.iml index b4e1ce3..c35d05f 100644 --- a/.idea/modules/oolab.main.iml +++ b/.idea/modules/oolab.main.iml @@ -1,6 +1,6 @@ - + diff --git a/.idea/modules/oolab.test.iml b/.idea/modules/oolab.test.iml index 23652a6..d4e0506 100644 --- a/.idea/modules/oolab.test.iml +++ b/.idea/modules/oolab.test.iml @@ -1,6 +1,6 @@ - + diff --git a/oolab/src/main/java/agh/ics/oop/AbstractAnimal.java b/oolab/src/main/java/agh/ics/oop/AbstractAnimal.java deleted file mode 100644 index ba54be1..0000000 --- a/oolab/src/main/java/agh/ics/oop/AbstractAnimal.java +++ /dev/null @@ -1,4 +0,0 @@ -package agh.ics.oop; - -public abstract class AbstractAnimal implements IMapElement{ -} diff --git a/oolab/src/main/java/agh/ics/oop/AbstractMap.java b/oolab/src/main/java/agh/ics/oop/AbstractMap.java index aee26d9..4921367 100644 --- a/oolab/src/main/java/agh/ics/oop/AbstractMap.java +++ b/oolab/src/main/java/agh/ics/oop/AbstractMap.java @@ -1,4 +1,29 @@ package agh.ics.oop; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; + public abstract class AbstractMap { + protected HashMap grassOnField = new HashMap<>(); + protected HashMap animalsOnField = new HashMap<>(); + protected int height; + protected int width; + protected HashSet noGrassSpots = new HashSet<>(); + + public AbstractMap() { + //Big Bang + } + + protected abstract void moveOnMap(Animal animal); + + protected ArrayList animalsOnSpot(Vector2d spot){ + return null; + } + protected boolean isGrassThere(Vector2d spot){ + //implementujemy + return false; + } + + protected void placeAnimal(Vector2d spot, Animal animal){} } diff --git a/oolab/src/main/java/agh/ics/oop/Animal.java b/oolab/src/main/java/agh/ics/oop/Animal.java new file mode 100644 index 0000000..e0c17f4 --- /dev/null +++ b/oolab/src/main/java/agh/ics/oop/Animal.java @@ -0,0 +1,32 @@ +package agh.ics.oop; + +public class Animal implements IMapElement{ + protected Direction orientation; + protected Vector2d position; + protected int energy; + protected Direction[] genes; + protected int activeGeneIx; + protected int grassEaten; + protected int diedDate; + protected int age; + protected int children; + + //konstruktor dla Adama i Ewy + public Animal(IMutationModel mutationModel) { + //tu trzeba wszystko losować + } + //konstruktor dla dzieciów + public Animal(IMutationModel mutationModel, Animal mommy, Animal daddy){ + //wpisać konstruktor + mutationModel.mutate(this, mommy, daddy); + } + + @Override + public String getImageName() { + return null; + } + + public void changePosition(Vector2d newPosition){ + this.position=newPosition; + } +} diff --git a/oolab/src/main/java/agh/ics/oop/ForestedEquators.java b/oolab/src/main/java/agh/ics/oop/ForestedEquators.java index 582d265..2a66cd2 100644 --- a/oolab/src/main/java/agh/ics/oop/ForestedEquators.java +++ b/oolab/src/main/java/agh/ics/oop/ForestedEquators.java @@ -1,4 +1,8 @@ package agh.ics.oop; public class ForestedEquators implements IHolyGardener{ + @Override + public void seedGrass() { + + } } diff --git a/oolab/src/main/java/agh/ics/oop/GlobMap.java b/oolab/src/main/java/agh/ics/oop/GlobMap.java index 3ee514f..8fd44bc 100644 --- a/oolab/src/main/java/agh/ics/oop/GlobMap.java +++ b/oolab/src/main/java/agh/ics/oop/GlobMap.java @@ -1,4 +1,9 @@ package agh.ics.oop; public class GlobMap extends AbstractMap{ + + @Override + protected void moveOnMap(Animal animal) { + + } } diff --git a/oolab/src/main/java/agh/ics/oop/Grass.java b/oolab/src/main/java/agh/ics/oop/Grass.java index c93ea32..e1dacd8 100644 --- a/oolab/src/main/java/agh/ics/oop/Grass.java +++ b/oolab/src/main/java/agh/ics/oop/Grass.java @@ -1,4 +1,9 @@ package agh.ics.oop; public class Grass implements IMapElement{ + private Vector2d position; + @Override + public String getImageName() { + return null; + } } diff --git a/oolab/src/main/java/agh/ics/oop/HellMap.java b/oolab/src/main/java/agh/ics/oop/HellMap.java index cedf45c..de62b46 100644 --- a/oolab/src/main/java/agh/ics/oop/HellMap.java +++ b/oolab/src/main/java/agh/ics/oop/HellMap.java @@ -1,4 +1,8 @@ package agh.ics.oop; public class HellMap extends AbstractMap{ + @Override + protected void moveOnMap(Animal animal) { + + } } diff --git a/oolab/src/main/java/agh/ics/oop/HijinksEngine.java b/oolab/src/main/java/agh/ics/oop/HijinksEngine.java index 3be3bbf..39476d7 100644 --- a/oolab/src/main/java/agh/ics/oop/HijinksEngine.java +++ b/oolab/src/main/java/agh/ics/oop/HijinksEngine.java @@ -1,4 +1,11 @@ package agh.ics.oop; public class HijinksEngine implements ISimulationEngine{ + private IMutationModel mutationModel; + private IHolyGardener gardener; + + @Override + public void run() { + + } } diff --git a/oolab/src/main/java/agh/ics/oop/IHolyGardener.java b/oolab/src/main/java/agh/ics/oop/IHolyGardener.java index f0ade87..a434c41 100644 --- a/oolab/src/main/java/agh/ics/oop/IHolyGardener.java +++ b/oolab/src/main/java/agh/ics/oop/IHolyGardener.java @@ -1,4 +1,5 @@ package agh.ics.oop; public interface IHolyGardener { + void seedGrass(); } diff --git a/oolab/src/main/java/agh/ics/oop/IMapElement.java b/oolab/src/main/java/agh/ics/oop/IMapElement.java index 98ec9da..96c7dfb 100644 --- a/oolab/src/main/java/agh/ics/oop/IMapElement.java +++ b/oolab/src/main/java/agh/ics/oop/IMapElement.java @@ -1,4 +1,5 @@ package agh.ics.oop; public interface IMapElement { + String getImageName(); } diff --git a/oolab/src/main/java/agh/ics/oop/IMutationModel.java b/oolab/src/main/java/agh/ics/oop/IMutationModel.java new file mode 100644 index 0000000..291b5c1 --- /dev/null +++ b/oolab/src/main/java/agh/ics/oop/IMutationModel.java @@ -0,0 +1,5 @@ +package agh.ics.oop; + +public interface IMutationModel { + void mutate(Animal child, Animal mommy, Animal daddy); +} diff --git a/oolab/src/main/java/agh/ics/oop/ISimulationEngine.java b/oolab/src/main/java/agh/ics/oop/ISimulationEngine.java index 781c8f9..f57a476 100644 --- a/oolab/src/main/java/agh/ics/oop/ISimulationEngine.java +++ b/oolab/src/main/java/agh/ics/oop/ISimulationEngine.java @@ -1,4 +1,5 @@ package agh.ics.oop; public interface ISimulationEngine { + void run(); } diff --git a/oolab/src/main/java/agh/ics/oop/LittleAdjustment.java b/oolab/src/main/java/agh/ics/oop/LittleAdjustment.java new file mode 100644 index 0000000..30dd247 --- /dev/null +++ b/oolab/src/main/java/agh/ics/oop/LittleAdjustment.java @@ -0,0 +1,8 @@ +package agh.ics.oop; + +public class LittleAdjustment implements IMutationModel{ + @Override + public void mutate(Animal child, Animal mommy, Animal daddy) { + + } +} diff --git a/oolab/src/main/java/agh/ics/oop/PredestinationEngine.java b/oolab/src/main/java/agh/ics/oop/PredestinationEngine.java index 4ecc2a3..4850db1 100644 --- a/oolab/src/main/java/agh/ics/oop/PredestinationEngine.java +++ b/oolab/src/main/java/agh/ics/oop/PredestinationEngine.java @@ -1,4 +1,11 @@ package agh.ics.oop; public class PredestinationEngine implements ISimulationEngine{ + private IMutationModel mutationModel; + private IHolyGardener gardener; + + @Override + public void run() { + + } } diff --git a/oolab/src/main/java/agh/ics/oop/SimulationEngine.java b/oolab/src/main/java/agh/ics/oop/SimulationEngine.java deleted file mode 100644 index 89e9219..0000000 --- a/oolab/src/main/java/agh/ics/oop/SimulationEngine.java +++ /dev/null @@ -1,4 +0,0 @@ -package agh.ics.oop; - -public class SimulationEngine { -} diff --git a/oolab/src/main/java/agh/ics/oop/Statistics.java b/oolab/src/main/java/agh/ics/oop/Statistics.java new file mode 100644 index 0000000..3f17e3d --- /dev/null +++ b/oolab/src/main/java/agh/ics/oop/Statistics.java @@ -0,0 +1,12 @@ +package agh.ics.oop; + +import java.util.HashMap; + +public class Statistics { + private int amountOfGrass; + private HashMap diedAnimals=new HashMap<>(); + public int getAmountOfAnimals(){ + //oblicz ile było wszystkich zwierzaków w danej symulacji + return 0; + } +} diff --git a/oolab/src/main/java/agh/ics/oop/TotalRandom.java b/oolab/src/main/java/agh/ics/oop/TotalRandom.java new file mode 100644 index 0000000..2f11430 --- /dev/null +++ b/oolab/src/main/java/agh/ics/oop/TotalRandom.java @@ -0,0 +1,8 @@ +package agh.ics.oop; + +public class TotalRandom implements IMutationModel{ + @Override + public void mutate(Animal child, Animal mommy, Animal daddy) { + + } +} diff --git a/oolab/src/main/java/agh/ics/oop/ToxicCorpses.java b/oolab/src/main/java/agh/ics/oop/ToxicCorpses.java index 6efe41d..25ed6ea 100644 --- a/oolab/src/main/java/agh/ics/oop/ToxicCorpses.java +++ b/oolab/src/main/java/agh/ics/oop/ToxicCorpses.java @@ -1,4 +1,8 @@ package agh.ics.oop; public class ToxicCorpses implements IHolyGardener{ + @Override + public void seedGrass() { + + } }