diff --git a/src/backend/Sheep.java b/src/backend/Sheep.java index 3c0f302..b62af02 100644 --- a/src/backend/Sheep.java +++ b/src/backend/Sheep.java @@ -29,7 +29,7 @@ public class Sheep extends Agent { * it can interact with the cells or with other animals * as you wish */ - public boolean liveTurn(ArrayList neighbors, World world) { + public boolean liveTurn(ArrayList neighbors, Simulator world) { if(world.getCell(x, y)==1) { world.setCell(x, y, 0); } else { diff --git a/src/backend/Simulator.java b/src/backend/Simulator.java index d50f06a..0c7f9a3 100644 --- a/src/backend/Simulator.java +++ b/src/backend/Simulator.java @@ -31,7 +31,7 @@ public class Simulator extends Thread { private boolean stopFlag; private boolean pauseFlag; private boolean loopingBorder; - private boolean clickActionFlag; + private int clickActionFlag; private int loopDelay = 150; private int[][] worldGrid; private World world; //get the World instance @@ -45,7 +45,7 @@ public class Simulator extends Thread { //stopFlag=false; //not necessary since i set the state when pressing the button start pauseFlag=false; loopingBorder=false; - clickActionFlag=false; + clickActionFlag=0; agents = new ArrayList(); fieldBirthValues = new ArrayList(); @@ -141,7 +141,7 @@ public class Simulator extends Thread { // in agent classes - int[][] newWorld = new int[getWidth()][getHeight()]; + // int[][] newWorld = new int[getWidth()][getHeight()]; /*ArrayList newAgents = new ArrayList<>(); for(Agent agent : agents) { @@ -149,32 +149,29 @@ public class Simulator extends Thread { this.getNeighboringAnimals( agent.getX(), agent.getY(), - ANIMAL_AREA_RADIUS);} + ANIMAL_AREA_RADIUS); if(!agent.liveTurn( neighbors, this)) { agents.remove(agent); - }*/ + } + }*/ // Apply Game of Life rules - //for (int x = 0; x < getWidth(); x++) { - // for (int y = 0; y < getHeight(); y++) { - // int aliveNeighbors = countAliveNeighbors(x, y); - // if (world[x][y] == 1) { - // newWorld[x][y] = (aliveNeighbors < 2 || aliveNeighbors > 3) ? 0 : 1; - // } else { - // newWorld[x][y] = (aliveNeighbors == 3) ? 1 : 0; - // } - // } - //} + /*for (int x = 0; x < getWidth(); x++) { + for (int y = 0; y < getHeight(); y++) { + int aliveNeighbors = countAliveNeighbors(x, y); + if (getCell(x,y) == 1) { // + newWorld[x][y] = (aliveNeighbors < 2 || aliveNeighbors > 3) ? 0 : 1; + } else { + newWorld[x][y] = (aliveNeighbors == 3) ? 1 : 0; + } + } + } - - - - - //world = newWorld; - + this.world = setWorld(newWorld,getWidth(),getHeight()) ; +*/ //then evolution of the field @@ -320,7 +317,7 @@ public class Simulator extends Thread { ArrayList rule = new ArrayList<>(); for (int i = 0; i < getHeight(); i++) { StringBuilder lineState = new StringBuilder(); - for (int j = 0 ; j < getHeight() ; j++) { // je crois qu'il y a un probleme, il fau+t mettre getWidth je crois + for (int j = 0 ; j < getHeight() ; j++) { lineState.append(getCell(i, j)); if (j < getWidth() - 1) { lineState.append(";"); @@ -382,6 +379,11 @@ public class Simulator extends Thread { public String clickActionName() { // TODO : initially return "sheep" or "cell" // depending on clickActionFlag + if (clickActionFlag==0) { + return "cell"; + }else if (clickActionFlag==1) { + + } return ""; }