diff --git a/src/main/java/pikelake/Grid.java b/src/main/java/pikelake/Grid.java index 82bb1289b47b5f1f6a7a2cb7cfdda435a92dc9e4..d1227c4eabbcd756df37f8450fe706c2980464d6 100644 --- a/src/main/java/pikelake/Grid.java +++ b/src/main/java/pikelake/Grid.java @@ -6,9 +6,6 @@ import fr.cemagref.simaqualife.kernel.AquaNismsGroup; import fr.cemagref.simaqualife.kernel.util.TransientParameters.InitTransientParameters; import fr.cemagref.simaqualife.pilot.Pilot; import pikelake.pikes.Pike; -//import predatorprey.preys.Prey; -import umontreal.iro.lecuyer.probdist.UniformDist; -import umontreal.iro.lecuyer.randvar.UniformGen; public class Grid extends Grid2D<Cell, Individual> { @@ -17,65 +14,29 @@ public class Grid extends Grid2D<Cell, Individual> { // TODO Auto-generated constructor stub } - /** - * <code>preyCarryingCapacity</code> number of preys that a cell can support - */ -// private int preyCarryingCapacity; - private double habitatValue0 = .25; - private double habitatValue1 = .5; - private double habitatValue2 = 1; - - transient private UniformGen uniformGen; - transient private double[] habitatValues; - @InitTransientParameters public void initTransientParameters(Pilot pilot) { - this.pos = neighborsType.getPos(); - - habitatValues = new double[3]; - habitatValues[0] = habitatValue0; - habitatValues[1] = habitatValue1; - habitatValues[2] = habitatValue2; - - UniformGen uniformGen = new UniformGen(pilot.getRandomStream(), new UniformDist(0, habitatValues.length - 1)); - - grid = new Cell[gridWidth * gridHeight]; - for (int i = 0; i < grid.length; i++) { - double hab = habitatValues[(int) Math.round(uniformGen.nextDouble())]; - grid[i] = new Cell(i, hab); // , preyCarryingCapacity); ///////////////////////////////////////////////////////////////// - } + // TODO } @Override public void addAquaNism(Individual ind, AquaNismsGroup group) { super.addAquaNism(ind, group); -// if (ind instanceof Prey) { ///////////////////////////////////////////////////////////////// -// ind.getPosition().addPrey((Prey) ind); ///////////////////////////////////////////////////////////////// -// } else { ///////////////////////////////////////////////////////////////// - ind.getPosition().addPike((Pike) ind); -// } ///////////////////////////////////////////////////////////////// + ind.getPosition().addPike((Pike) ind); } @Override public void moveAquaNism(Individual ind, AquaNismsGroup group, Cell dest) { super.moveAquaNism(ind, group, dest); this.removeAquaNism(ind, group); -// if (ind instanceof Prey) { ///////////////////////////////////////////////////////////////// -// dest.addPrey((Prey) ind); ///////////////////////////////////////////////////////////////// -// } else { ///////////////////////////////////////////////////////////////// - dest.addPike((Pike) ind); -// } ///////////////////////////////////////////////////////////////// + dest.addPike((Pike) ind); } @Override public void removeAquaNism(Individual ind, AquaNismsGroup group) { super.removeAquaNism(ind, group); -// if (ind instanceof Prey) { ///////////////////////////////////////////////////////////////// -// ind.getPosition().removePrey((Prey) ind); ///////////////////////////////////////////////////////////////// -// } else { ///////////////////////////////////////////////////////////////// - ind.getPosition().removePike((Pike) ind); -// } ///////////////////////////////////////////////////////////////// + ind.getPosition().removePike((Pike) ind); } } diff --git a/src/main/java/pikelake/GridObserver.java b/src/main/java/pikelake/GridObserver.java index ab6b9cbec43ea674043b1140761f577e8fdfc25e..3df8e09008dfc71b7b376e4cf8a08094ef02295b 100644 --- a/src/main/java/pikelake/GridObserver.java +++ b/src/main/java/pikelake/GridObserver.java @@ -41,7 +41,6 @@ public class GridObserver extends ObserverListener implements Configurable, Draw private String title; private Color envColor = Color.GREEN; - private Color preyColor = Color.BLUE; private Color pikeColor = Color.RED; @Description (name="Background color",tooltip="Background color") private Color bgColor = Color.WHITE; @@ -163,16 +162,6 @@ public class GridObserver extends ObserverListener implements Configurable, Draw // filling the cell with a color corresponding to the habitat level g.setColor(new Color(envColor.getRed(),envColor.getGreen(),envColor.getBlue(),cellsAlpha[i])); g2d.fill(cellRect); - // drawing preys - if (grid.getCells()[i].getPreys().size() > 0) { - g.setColor(preyColor); - preyDiameterX = cellRect.width*(double)grid.getCells()[i].getPreys().size()/grid.getCells()[i].getPreyCarryingCapacity(); - preyDiameterY = cellRect.height*(double)grid.getCells()[i].getPreys().size()/grid.getCells()[i].getPreyCarryingCapacity(); - g.fillOval((int)(cellRect.x + (cellRect.width - preyDiameterX)/2), (int)(cellRect.y + (cellRect.height - preyDiameterY)/2), (int)preyDiameterX, (int)preyDiameterY); - // represention as pie ... not very pretty - /*g2d.fill(new Arc2D.Double(cellRect,90,-360*((double)grid.getCells()[i].getPreys().size()/grid.getCells()[i].getPreyCarryingCapacity()),Arc2D.PIE)); - g2d.draw(new Arc2D.Double(cellRect,90,360,Arc2D.OPEN));*/ - } // drawing pikes presence if (grid.getCells()[i].getPikes().size() > 0) { g.setColor(pikeColor); @@ -192,7 +181,7 @@ public class GridObserver extends ObserverListener implements Configurable, Draw int y = (int)(e.getY()/cellSizeY); int x = (int)(e.getX()/cellSizeX); Cell cell = grid.getCells()[grid.getGridWidth()*Math.min(y,grid.getGridHeight()-1) + Math.min(x,grid.getGridWidth()-1)]; - label.setText("( "+x+" , "+y+" ) : habitat value = "+cell.getHabitatQuality()+" / "+cell.getPreys().size() + " preys ( max = "+cell.getPreyCarryingCapacity()+") and " + cell.getPikes().size()+ " pikes."); + label.setText("( "+x+" , "+y+" ) : habitat value = "+cell.getHabitatQuality()+" / " + cell.getPikes().size()+ " pikes."); } public static void main (String [] args){ diff --git a/src/main/java/pikelake/pikes/Pike.java b/src/main/java/pikelake/pikes/Pike.java index 2a787f125b2a033ef9d69eb660b655fe3c15c1d6..84a0288cdf8641218c81dd93903ca3b19599ee87 100644 --- a/src/main/java/pikelake/pikes/Pike.java +++ b/src/main/java/pikelake/pikes/Pike.java @@ -1,8 +1,8 @@ package pikelake.pikes; import fr.cemagref.simaqualife.pilot.Pilot; -import Pike.Cell; -import Pike.Individual; +import pikelake.Cell; +import pikelake.Individual; public class Pike extends Individual { diff --git a/src/main/java/pikelake/pikes/PikePlopProcess.java b/src/main/java/pikelake/pikes/PikePlopProcess.java index 9cb2eac1d8f55f2f40cd2591aba2c94fe1a6d739..3edb68c335a828c65f754a8dc571d22a0960ff7c 100644 --- a/src/main/java/pikelake/pikes/PikePlopProcess.java +++ b/src/main/java/pikelake/pikes/PikePlopProcess.java @@ -2,7 +2,7 @@ package pikelake.pikes; import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess; -public class PlopProcess extends AquaNismsGroupProcess<Pike,PikesGroup> { +public class PikePlopProcess extends AquaNismsGroupProcess<Pike,PikesGroup> { private int temporisation = 3000; // in ms