diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6a3417b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/out/
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 425ed52..5a06d60 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -2,7 +2,7 @@
-
+
\ No newline at end of file
diff --git a/JavaPlayground.iml b/evolutionary-altruism-simulation.iml
similarity index 100%
rename from JavaPlayground.iml
rename to evolutionary-altruism-simulation.iml
diff --git a/out/production/JavaPlayground/Simulation/Main.class b/out/production/JavaPlayground/Simulation/Main.class
deleted file mode 100644
index 7e78fc6..0000000
Binary files a/out/production/JavaPlayground/Simulation/Main.class and /dev/null differ
diff --git a/out/production/JavaPlayground/Simulation/Simulation$Altruist.class b/out/production/JavaPlayground/Simulation/Simulation$Altruist.class
deleted file mode 100644
index 4cdd8f4..0000000
Binary files a/out/production/JavaPlayground/Simulation/Simulation$Altruist.class and /dev/null differ
diff --git a/out/production/JavaPlayground/Simulation/Simulation$Coward.class b/out/production/JavaPlayground/Simulation/Simulation$Coward.class
deleted file mode 100644
index 9b5b8c7..0000000
Binary files a/out/production/JavaPlayground/Simulation/Simulation$Coward.class and /dev/null differ
diff --git a/out/production/JavaPlayground/Simulation/Simulation$Entity.class b/out/production/JavaPlayground/Simulation/Simulation$Entity.class
deleted file mode 100644
index 68fbb01..0000000
Binary files a/out/production/JavaPlayground/Simulation/Simulation$Entity.class and /dev/null differ
diff --git a/out/production/JavaPlayground/Simulation/Simulation.class b/out/production/JavaPlayground/Simulation/Simulation.class
deleted file mode 100644
index 6c46855..0000000
Binary files a/out/production/JavaPlayground/Simulation/Simulation.class and /dev/null differ
diff --git a/out/production/JavaPlayground/Simulation/Utils.class b/out/production/JavaPlayground/Simulation/Utils.class
deleted file mode 100644
index 7d47889..0000000
Binary files a/out/production/JavaPlayground/Simulation/Utils.class and /dev/null differ
diff --git a/src/Simulation/Entity.java b/src/Simulation/Entity.java
new file mode 100644
index 0000000..b1c6378
--- /dev/null
+++ b/src/Simulation/Entity.java
@@ -0,0 +1,16 @@
+package Simulation;
+
+public class Entity {
+ // survival rate when enemy met
+ public float survivalRate;
+
+ // petition to notify danger when enemy met
+ public float dangerNotifyChance;
+
+ // number of entities born on reproduction
+ public int reproductionCountMin;
+ public int reproductionCountMax;
+
+ public int nutrientsNecessaryForReproduction;
+ public int currentNutrients;
+}
\ No newline at end of file
diff --git a/src/Simulation/Main.java b/src/Simulation/Main.java
index e5ea5b5..36aa4e8 100644
--- a/src/Simulation/Main.java
+++ b/src/Simulation/Main.java
@@ -1,10 +1,56 @@
package Simulation;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Random;
+import java.util.concurrent.ThreadLocalRandom;
+import java.util.concurrent.atomic.AtomicReferenceArray;
+
public class Main {
- public static void main(String[] args) {
- System.out.println("Hello world!");
- final Simulation simulation = new Simulation(20, 20);
- simulation.simulate(50);
+
+ public static void main(String[] args) throws InterruptedException {
+ final Simulation simulation = new Simulation();
+ simulation.setData(20, 20, 10);
+ simulation.simulate(10);
+ simulation.printData();
+
+ // fix seed
+// final ThreadLocal random = ThreadLocal.withInitial(Random::new);
+// random.get().setSeed(50);
+// final ThreadLocalRandom random = ThreadLocalRandom.current();
+// random.setSeed(50);
+
+// final Random random = Utils.random;
+// random.setSeed(500);
+// final ArrayList objects = new ArrayList<>();
+// final ArrayList threads = new ArrayList<>();
+//
+// for (int i = 0; i < 10; i++) {
+// objects.add(i);
+// }
+//
+// for (int i = 0; i < 10; i++) {
+// final ArrayList