This commit is contained in:
Timéo 2024-05-29 18:08:01 +02:00
commit 17c204a812
4 changed files with 40 additions and 42 deletions

View File

@ -10,20 +10,12 @@ public class Rules {
public Rules() {
survivalRulesArray = new int[0];
birthRulesArray = new int[0];
//survivalRulesArray = new int[0];
//birthRulesArray = new int[0];
}
//initialize my arrays to empty
public int[] getBirthRulesArray() {
return this.birthRulesArray;
}
public int[] getSurvivalRulesArray() {
return this.survivalRulesArray;
}
public void loadRule(ArrayList<String> row) {
String surviveRulesRow = row.get(0);
@ -42,14 +34,14 @@ public class Rules {
}else {
for (int x = 0; x < surviveCells.length; x++) {
String elem = surviveCells[x];
int value = Integer.parseInt(elem);
String eleme = surviveCells[x];
int value = Integer.parseInt(eleme);
survivalRulesArray[x] = value;
}
//determines the number of alive neighboring cells needed to survive, and places them in the survivalRulesArray
for (int x = 0; x < birthCells.length; x++) {
String elem = birthCells[x];
int value = Integer.parseInt(elem);
String elemee = birthCells[x];
int value = Integer.parseInt(elemee);
birthRulesArray[x] = value;
}
//determines the number of alive neighboring cells needed to birth, and places them in the birthRules list
@ -58,5 +50,15 @@ public class Rules {
}
public int[] getBirthRulesArray() {
return this.birthRulesArray;
}
public int[] getSurvivalRulesArray() {
return this.survivalRulesArray;
}
}

View File

@ -36,7 +36,11 @@ public class Sheep extends Agent {
hunger++;
}
this.moveRandom();
return hunger>10;
if (hunger<=10) {
return true;
}else {
return hunger>10;
}
}
private void moveRandom() {

View File

@ -16,8 +16,8 @@ public class Simulator extends Thread {
private MyInterface mjf;
public Rules rules;
//private final int COL_NUM = 100;
//private final int LINE_NUM = 100;
private final int COL_NUM = 100;
private final int LINE_NUM = 100;
private final int LIFE_TYPE_NUM = 4;
//Conway Radius : 1
private final int LIFE_AREA_RADIUS = 1;
@ -66,11 +66,11 @@ public class Simulator extends Thread {
}
public int getWidth() {
return world.getWidth();
return this.getWidth();
}
public int getHeight() {
return world.getHeight();
return this.getHeight();
}
public World getWorld(){
@ -158,28 +158,23 @@ public class Simulator extends Thread {
// in agent classes
/*ArrayList<Agent> newAgents = new ArrayList<>();
ArrayList<Agent> newAgents = new ArrayList<>();
for(Agent agent : agents) {
ArrayList<Agent> neighbors =
this.getNeighboringAnimals(
agent.getX(),
agent.getY(),
ANIMAL_AREA_RADIUS);}
if(!agent.liveTurn(
neighbors,
this)) {
/*ArrayList<Agent> neighbors =this.getNeighboringAnimals(agent.getX(),agent.getY(),ANIMAL_AREA_RADIUS);}
*/
System.out.println("makeStep Called");
if(!agent.liveTurn(this.getNeighboringAnimals(agent.getX(),agent.getY(),ANIMAL_AREA_RADIUS),world)) {
agents.remove(agent);
}*/
}
}
int[][] nextWorld = new int[getWidth()][getHeight()];
/*int[][] nextWorld = new int[getWidth()][getHeight()];
for (int x = 0; x < getWidth(); x++) {
for (int y = 0; y < getHeight(); y++) {
int aliveNeighbors = countAliveNeighbors(x, y);
if (world.getCell(x, y) == 1) {
nextWorld[x][y] = 1;
//survives(aliveNeighbors) ? 1 : 0;
nextWorld[x][y] = survives(aliveNeighbors) ? 1 : 0;
} else {
nextWorld[x][y] = bornes(aliveNeighbors) ? 1 : 0;
}
@ -189,7 +184,7 @@ public class Simulator extends Thread {
world.setWorld(nextWorld, getWidth(), getHeight());
}
*/
//then evolution of the field
@ -210,10 +205,7 @@ public class Simulator extends Thread {
*/
}
/*
* leave this as is

View File

@ -3,9 +3,9 @@ package backend;
import java.util.Random;
public class World {
private int width;
private int height;
Simulator simulator;
private int width = simulator.getWidth();
private int height = simulator.getHeight();
private int[][] world;
public World(int width, int height) {