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