diff --git a/EvoSim.pde b/EvoSim.pde new file mode 100644 index 0000000..21b5768 --- /dev/null +++ b/EvoSim.pde @@ -0,0 +1,13 @@ + +// fenstergroesse muss seperat geändert werden, sollte immer gleich sein & einen schönen Wert haben, z.B. 100, 500,... +final int fensterGroesse = 1000; + +Welt welt = new Welt(100, 10); + +void setup(){ + size(1000,1000); + welt.showWelt(); + welt.showLebewesen(welt.getLebewesen()); +} +void draw(){ +} \ No newline at end of file diff --git a/Feld.pde b/Feld.pde new file mode 100644 index 0000000..0246f93 --- /dev/null +++ b/Feld.pde @@ -0,0 +1,25 @@ +class Feld{ + + // getter müssen noch geschrieben werden + private int posX, posY; + private float nHoehe; //noise-Hoehe + + private int feldBreite; + private int regenerationsrate = 3; + private int energiewert = 80; + + Feld(int x , int y, float h, int fB){ + posX = x; + posY = y; + nHoehe = h; + feldBreite = fB; + + } + void drawFeld(){ + if(nHoehe>45){ + fill((100 - energiewert)*1.5,energiewert*1.5+50,0); //muss noch geändert werden + } else fill(0, 0, 255); + rect(posX, posY, feldBreite, feldBreite); + } + +} \ No newline at end of file diff --git a/Lebewesen.pde b/Lebewesen.pde new file mode 100644 index 0000000..68225e9 --- /dev/null +++ b/Lebewesen.pde @@ -0,0 +1,17 @@ + +public class Lebewesen{ + + private int durchmesser = 15; + private int posX, posY; + private int fressrate; + + public Lebewesen(int x, int y){ + posX = x; + posY = y; + } + + public void drawLebewesen(){ + fill((int)random(0,256), (int)random(0,256), (int)random(0,256)); + ellipse((int)random(0,fensterGroesse), (int)random(0,fensterGroesse), durchmesser, durchmesser); + } +} \ No newline at end of file diff --git a/Welt.pde b/Welt.pde new file mode 100644 index 0000000..af1da3f --- /dev/null +++ b/Welt.pde @@ -0,0 +1,62 @@ +public class Welt{ + + // getter fehlen noch + private Feld[][] welt; + private ArrayList bewohner; + + private int weltGroesse; + private int fB; + + public Welt(int weltGroesse, int lw){ + + this.weltGroesse = weltGroesse; + + // skaliert die Feldbreite and die Fenstergroesse und die Feldanzahl pro Reihe + fB = (int)fensterGroesse/weltGroesse; + + // generiert Welt + welt = new Feld[weltGroesse][weltGroesse]; + float yNoise = 0.0; + for (int y=0; y(lw); + for(int i=0; i