From fc9ea87712f31ed98d0b63b79bff447e0062f5c9 Mon Sep 17 00:00:00 2001 From: Paul Mathy Date: Fri, 31 May 2024 23:53:17 +0200 Subject: [PATCH] Projet_V5 --- src/backend/Agents.java | 25 ++++++++++++++++++++++++ src/backend/Simulator.java | 40 +++++++++++++------------------------- 2 files changed, 39 insertions(+), 26 deletions(-) create mode 100644 src/backend/Agents.java diff --git a/src/backend/Agents.java b/src/backend/Agents.java new file mode 100644 index 0000000..a16e25c --- /dev/null +++ b/src/backend/Agents.java @@ -0,0 +1,25 @@ +package backend; + +import java.util.ArrayList; + +public class Agents { + + private ArrayList agentList; + + public Agents() { + + agentList = new ArrayList(); + + } + public ArrayList getAgentList() { + return agentList; + } + + public void addAgent(Agent agent) { + agentList.add(agent); + } + + public void removeAll() { + agentList.clear(); + } +} diff --git a/src/backend/Simulator.java b/src/backend/Simulator.java index e6f8bef..b9ad8e6 100644 --- a/src/backend/Simulator.java +++ b/src/backend/Simulator.java @@ -17,7 +17,7 @@ public class Simulator extends Thread { //private ArrayList fieldSurviveValues; //private ArrayList fieldBirthValues; - private ArrayList agents; + //private ArrayList agents; private boolean stopFlag; private boolean pauseFlag; @@ -35,6 +35,7 @@ public class Simulator extends Thread { private int stepCount=0; private Rules rules; + private Agents agents; public Simulator(MyInterface mjfParam) { mjf = mjfParam; @@ -43,21 +44,12 @@ public class Simulator extends Thread { loopingBorder=false; clickActionFlag=true; - agents = new ArrayList(); - - //fieldSurviveValues = new ArrayList(); - //fieldBirthValues = new ArrayList(); - this.width=COL_NUM; this.height=LINE_NUM; gride = new Gride(height, width, this); - //Reset rules to Conway rules - //this.resetRules(); - rules = new Rules(); - - + agents = new Agents(); } public int getWidth() { @@ -98,13 +90,11 @@ public class Simulator extends Thread { public void makeStep() { - ListIterator iter = agents.listIterator(); + ListIterator iter = agents.getAgentList().listIterator(); while(iter.hasNext()){ Agent agent = iter.next(); - //System.out.println(agent.getX() + "," + agent.getY()); - ArrayList neighbors = this.getNeighboringAnimals( agent.getX(), agent.getY(), @@ -117,7 +107,7 @@ public class Simulator extends Thread { iter.remove(); } } - /* + /* Not working when atempt to remove one agent -> move to iterator for(Agent agent : agents) { ArrayList neighbors = this.getNeighboringAnimals( @@ -162,7 +152,7 @@ public class Simulator extends Thread { this.setCell(x, y, newCellValue); } else { //Apply sheep /agent here - this.agents.add(new Sheep(x, y)); + this.agents.addAgent(new Sheep(x, y)); } return; @@ -173,13 +163,13 @@ public class Simulator extends Thread { } public ArrayList getAnimals(){ - return agents; + return agents.getAgentList(); } public ArrayList getNeighboringAnimals(int x, int y, int radius){ ArrayList inArea = new ArrayList(); - for(int i=0;i getAgentsSave() { - //TODO : Same idea as the other save method, but for agents ArrayList strArrayList = new ArrayList<>(); - String[] strArrayLine = new String[this.agents.size()]; + String[] strArrayLine = new String[this.agents.getAgentList().size()]; - for(int ii=0;ii