From cd5beab89285791363ea7ce29d08b85890a163e1 Mon Sep 17 00:00:00 2001 From: "guillaume.garbay" <guillaume.garbay> Date: Thu, 3 Sep 2015 07:34:15 +0000 Subject: [PATCH] --- data/input/fishLight.xml | 2 -- data/input/observersCharts.xml | 6 ++++++ .../Movement2DWithinShapeObserver.java | 21 +++++++++++++++++-- src/main/java/pikelake/environment/Time.java | 3 ++- src/main/java/pikelake/pikes/Pike.java | 5 ++--- .../java/pikelake/pikes/PikeMovement.java | 6 +++--- .../pikelake/pikes/PikeTrackLocation.java | 1 - 7 files changed, 32 insertions(+), 12 deletions(-) diff --git a/data/input/fishLight.xml b/data/input/fishLight.xml index 25e9eb0..3e045ca 100644 --- a/data/input/fishLight.xml +++ b/data/input/fishLight.xml @@ -25,7 +25,6 @@ </processesAtBegin> <processesEachStep> - <pikelake.environment.Time> </pikelake.environment.Time> @@ -33,7 +32,6 @@ </pikelake.Marnage> <!--pikelake.Grid> - </pikelake.Grid--> <pikelake.pikes.PikeMovement> diff --git a/data/input/observersCharts.xml b/data/input/observersCharts.xml index 3e38e3b..4e8fc6f 100644 --- a/data/input/observersCharts.xml +++ b/data/input/observersCharts.xml @@ -32,6 +32,12 @@ <blue>255</blue> <alpha>255</alpha> </hsiColor> + <textColor> + <red>10</red> + <green>10</green> + <blue>10</blue> + <alpha>255</alpha> + </textColor> <margin>0</margin> </pikelake.environment.Movement2DWithinShapeObserver> diff --git a/src/main/java/pikelake/environment/Movement2DWithinShapeObserver.java b/src/main/java/pikelake/environment/Movement2DWithinShapeObserver.java index 7fc439e..b523f04 100644 --- a/src/main/java/pikelake/environment/Movement2DWithinShapeObserver.java +++ b/src/main/java/pikelake/environment/Movement2DWithinShapeObserver.java @@ -21,6 +21,7 @@ import java.awt.geom.GeneralPath; import java.awt.geom.Path2D; import java.io.File; import java.io.IOException; +import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -36,6 +37,7 @@ import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.MultiPolygon; import pikelake.Grid; +import pikelake.Marnage; import pikelake.pikes.Pike; import pikelake.pikes.PikesGroup; @@ -62,7 +64,9 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C private Color shapeColor; @Description (name="HSI color",tooltip="HSI color") private Color hsiColor; - + @Description (name="Text color",tooltip="Text color") + private Color textColor; + private int margin; // private int sizeOfDisplayedIndividuals; // use for determine if generalPath must be rescaled @@ -276,7 +280,20 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C g2d.drawRect((int) xPike2, (int) yPike2, 1, 1); } } - + + + // Annotations + DecimalFormat df = new DecimalFormat("00"); + g.setColor(textColor); + // Date + String line = Time.getSeason() + " " + df.format(Time.jourMois) + "/" + df.format(Time.mois) + " " + Time.getPhaseJour() + " " + df.format(Time.heure); + g2d.drawString(line, 5, 10); + // Nombre de pas + line = "NbPas : " + Time.nbrIter; + g2d.drawString(line, 5, 25); + // Marnage ou Cote + line = "Cote : " + Marnage.marnageNew; + g2d.drawString(line, 5, 40); } } diff --git a/src/main/java/pikelake/environment/Time.java b/src/main/java/pikelake/environment/Time.java index 4ebf84e..f45a9fd 100644 --- a/src/main/java/pikelake/environment/Time.java +++ b/src/main/java/pikelake/environment/Time.java @@ -12,11 +12,12 @@ public class Time extends AquaNismsGroupProcess<Pike,PikesGroup> { public static enum Mois {MoisZero, JANVIER, FEVRIER, MARS, AVRIL, MAI, JUIN, JUILLET, AOUT, SEPTEMBRE, OCTOBRE, NOVEMBRE, DECEMBRE}; public static int mois = 1, jour = 0, jourMois = 1, saison = 0, annee = 2012, phaseJour = 0, heure = 0; public static String PhaseJour; + public static long nbrIter = 0; @Override public void doProcess (PikesGroup group) { - long nbrIter = group.getPilot().getCurrentTime(); + nbrIter = group.getPilot().getCurrentTime(); // Pas de temps Horaire heure = (int) nbrIter % 24; diff --git a/src/main/java/pikelake/pikes/Pike.java b/src/main/java/pikelake/pikes/Pike.java index bddb315..7044eda 100644 --- a/src/main/java/pikelake/pikes/Pike.java +++ b/src/main/java/pikelake/pikes/Pike.java @@ -42,13 +42,12 @@ public class Pike extends Individual { public double getSuitabilityForPike(Cell cell){ if (cell.getPikes().size()>1) - return 0.; // at least an other pike in the cell + return -1.; // at least an other pike in the cell else { //System.out.println(cell.getIndex()); //System.out.println(cell.getHabitatQuality()); - return cell.getHabitatQuality(); ///////////////////////////////////////////////////////// - + return cell.getHabitatQuality(); } //return((double) cell.getPreys().size()) * cell.getHabitatQuality(); // number of preys accessible } diff --git a/src/main/java/pikelake/pikes/PikeMovement.java b/src/main/java/pikelake/pikes/PikeMovement.java index da09d7e..c8e1168 100644 --- a/src/main/java/pikelake/pikes/PikeMovement.java +++ b/src/main/java/pikelake/pikes/PikeMovement.java @@ -29,12 +29,14 @@ public class PikeMovement extends LoopAquaNismsGroupProcess<Pike, PikesGroup> { @Override protected void doProcess(Pike pike, PikesGroup group) { + // Recupération HSI de la cellule occupee double cellSuitability = pike.getSuitabilityForPike(pike.getPosition()); // Calcul de la liste des cellules accessibles (distance donnee par fichier entree: DistHorCartBro) final List<Cell> surrounding = group.getEnvironment().getNeighbours(pike.getPosition()); + // the first possiblity is the cell where the prey is List<Cell> possibilities = new ArrayList<Cell>(); possibilities.add(pike.getPosition()); @@ -44,9 +46,7 @@ public class PikeMovement extends LoopAquaNismsGroupProcess<Pike, PikesGroup> { for (Cell cell : surrounding) { double currentCellSuitability = pike.getSuitabilityForPike(cell); - - //System.out.println(currentCellSuitability); - + if (currentCellSuitability >= 0) { if (currentCellSuitability > cellSuitability) { cellSuitability = currentCellSuitability; diff --git a/src/main/java/pikelake/pikes/PikeTrackLocation.java b/src/main/java/pikelake/pikes/PikeTrackLocation.java index 70a3214..ed24ca2 100644 --- a/src/main/java/pikelake/pikes/PikeTrackLocation.java +++ b/src/main/java/pikelake/pikes/PikeTrackLocation.java @@ -18,7 +18,6 @@ public class PikeTrackLocation extends AquaNismsGroupProcess<Pike, PikesGroup> { for (Pike pike : group.getAquaNismsList()) trackLocation[pike.idIndividu][cpt] = pike.getPosition().getIndex(); cpt++; - System.out.println(trackLocation.length + " " + trackLocation[1].length + " " + trackLocation.length); } -- GitLab