diff --git a/.gitignore b/.gitignore
index a97af95e2fa0eee577c273b850dc914a43beacc9..47ffb50a795d50cf57d3032ff3c18b7581ce3e68 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ gui/.classpath
 gui/bin
 gui/.project
 gui/.settings
+gui/out
diff --git a/gui/src/Case.java b/gui/src/Case.java
deleted file mode 100644
index 44288d96e8edc0ab6c73e9f53d874909232e953d..0000000000000000000000000000000000000000
--- a/gui/src/Case.java
+++ /dev/null
@@ -1,61 +0,0 @@
-import javafx.scene.shape.Polygon;
-
-public class Case {
-
-	private int rang; //N de la case (bottom right = 0, top left = 59)
-	private int nbFish;//Nb de poissons sur la case (0 si vide)
-	private Penguins penguins;
-	private Polygon caseFX;
-
-
-	public void setNbFish(int nbFish)
-	{
-		this.nbFish = nbFish;
-	}
-
-	public void setPenguins(Penguins penguins)
-	{
-		this.penguins = penguins;
-	}
-
-	public int getRang()
-	{
-
-		return rang;
-	}
-
-	public int getNbFish()
-	{
-		return nbFish;
-	}
-
-	public Penguins getPenguins()
-	{
-		return penguins;
-	}
-
-	public Polygon getCaseFX()
-	{
-		return caseFX;
-	}
-
-	public Case(int rang, Penguins penguins, Polygon caseFX)
-	{
-		this.rang = rang;
-		this.penguins = penguins;
-		this.caseFX = caseFX;
-		this.nbFish = 0;
-
-	}
-
-	public Case(int rang, int nbFish, Penguins penguins, Polygon caseFX) {
-		this(rang, penguins, caseFX);
-		this.nbFish = nbFish;
-	}
-
-	public enum Penguins
-	{
-		NO_PENGUIN, RED_PENGUIN, BLUE_PENGUIN;
-	}
-
-}
diff --git a/gui/src/Controller.java b/gui/src/Controller.java
deleted file mode 100644
index 7b1432a5adc5bf9b06fd5828d01808937b02fb5a..0000000000000000000000000000000000000000
--- a/gui/src/Controller.java
+++ /dev/null
@@ -1,79 +0,0 @@
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.net.URL;
-import java.util.ResourceBundle;
-
-import javafx.event.EventHandler;
-import javafx.fxml.FXML;
-import javafx.fxml.Initializable;
-import javafx.scene.control.Alert;
-import javafx.scene.control.ButtonType;
-import javafx.scene.input.MouseEvent;
-import javafx.scene.layout.BorderPane;
-import javafx.scene.paint.Color;
-import javafx.scene.shape.Polygon;
-public class Controller implements Initializable {
-
-	private GameState gameState;
-	private Process gameProcess;
-	private PrintWriter gameInput;
-	private Plateau plateau;
-
-	@FXML
-	private Polygon case0, case1, case2, case3, case4, case5, case6, case7, case8, case9, case10, case11, case12, case13, case14, case15, case16, case17, case18, case19, case20, case21, case22, case23, case24, case25, case26, case27, case28, case29, case30, case31, case32, case33, case34, case35, case36, case37, case38, case39, case40, case41, case42, case43, case44, case45, case46, case47, case48, case49, case50, case51, case52, case53, case54, case55, case56, case57, case58, case59;
-
-	@FXML
-	private BorderPane panneauPrincipal;
-
-	@Override
-	public void initialize(URL location, ResourceBundle resources) {
-		Polygon[] cases = {case0, case1, case2, case3, case4, case5, case6, case7, case8, case9, case10, case11, case12, case13, case14, case15, case16, case17, case18, case19, case20, case21, case22, case23, case24, case25, case26, case27, case28, case29, case30, case31, case32, case33, case34, case35, case36, case37, case38, case39, case40, case41, case42, case43, case44, case45, case46, case47, case48, case49, case50, case51, case52, case53, case54, case55, case56, case57, case58, case59};
-		for(Polygon c : cases)
-		{
-			//c.setOnMouseClicked(new MyClickHandler());
-			//c.setOnMouseEntered(new MyHexEnteredHandler());
-		}
-		this.plateau = new Plateau(cases);
-		this.gameState = new GameState();
-		try {
-			this.gameProcess = new ProcessBuilder("../bin/theturk").start();
-			gameInput = new PrintWriter(new OutputStreamWriter(gameProcess.getOutputStream()), true);
-		} catch (IOException e) {
-			Alert alert = new Alert(Alert.AlertType.ERROR,"Can't run penguin program", ButtonType.OK);
-			alert.showAndWait();
-			e.printStackTrace();
-			System.exit(1);
-		}
-		UpdateThread upT = new UpdateThread(gameProcess, this.gameState, this.plateau);
-		upT.setDaemon(true);
-		upT.start();
-
-		//We tell the game that we will start
-		gameInput.print("h");
-		gameInput.println();
-		gameInput.println("0");
-	}
-
-	//public Polygon getPolygonFromCoordinates(double x, double y){	}
-
-	//Action de click sur case
-	private class MyClickHandler implements EventHandler<MouseEvent> {
-		@Override
-		public void handle (MouseEvent event){
-			Polygon poly = (Polygon)event.getSource();
-			poly.setFill(Color.GOLD);
-		}
-	}
-
-	private class MyHexEnteredHandler implements EventHandler<MouseEvent> {
-		@Override
-		public void handle (MouseEvent event){
-			Polygon poly = (Polygon)event.getSource();
-			poly.setFill(Color.GOLD);
-		}
-	}
-
-
-
-}
diff --git a/gui/src/Main.java b/gui/src/Main.java
deleted file mode 100644
index eec62e5d87660f995a8f056a22c328aac338d980..0000000000000000000000000000000000000000
--- a/gui/src/Main.java
+++ /dev/null
@@ -1,27 +0,0 @@
-import javafx.application.Application;
-import javafx.fxml.FXMLLoader;
-import javafx.stage.Stage;
-import javafx.scene.Scene;
-import javafx.scene.layout.BorderPane;
-
-
-public class Main extends Application {
-
- @Override
- public void start(Stage primaryStage) {
-  try {
-	  FXMLLoader loader = new FXMLLoader();
-	  loader.setLocation(Main.class.getResource("view.fxml"));
-	  BorderPane root = (BorderPane) loader.load();
-   Scene scene = new Scene(root,1024,680);
-   primaryStage.setScene(scene);
-   primaryStage.show();
-  } catch(Exception e) {
-   e.printStackTrace();
-  }
- }
-
- public static void main(String[] args) {
-  launch(args);
- }
-}
\ No newline at end of file
diff --git a/gui/src/Plateau.java b/gui/src/Plateau.java
deleted file mode 100644
index 64cb8d54bce9f0186a2351628c63c40db6ec197d..0000000000000000000000000000000000000000
--- a/gui/src/Plateau.java
+++ /dev/null
@@ -1,18 +0,0 @@
-import javafx.scene.shape.Polygon;
-
-public class Plateau {
-	private Case[] grille;
-
-	//Constructeur de grille vide (0 fish, 0 penguins)
-	public Plateau(Polygon[] casesFX){
-		grille = new Case[60];
-		for (int i=0; i<casesFX.length ; i++){
-			grille[i]= new Case(i, Case.Penguins.NO_PENGUIN, casesFX[i]);
-		}
-	}
-
-	public Case[] getGrille()
-	{
-		return grille;
-	}
-}
diff --git a/gui/src/Player.java b/gui/src/Player.java
deleted file mode 100644
index e22d75a25e9249762f729497a61e52cd5d40dd1c..0000000000000000000000000000000000000000
--- a/gui/src/Player.java
+++ /dev/null
@@ -1,6 +0,0 @@
-
-public enum Player {
-	RED, BLUE
-
-	//TODO
-}
diff --git a/gui/src/UpdateThread.java b/gui/src/UpdateThread.java
deleted file mode 100644
index efccd0534f5ccbb5137ef6e2a9d6cfedfb6c5e77..0000000000000000000000000000000000000000
--- a/gui/src/UpdateThread.java
+++ /dev/null
@@ -1,76 +0,0 @@
-import javafx.application.Platform;
-import javafx.scene.control.Alert;
-import javafx.scene.control.ButtonType;
-import javafx.scene.paint.Color;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class UpdateThread extends Thread
-{
-	BufferedReader reader;
-	GameState gameState;
-	Plateau plateau;
-
-	public UpdateThread(Process program, GameState gameState, Plateau plateau)
-	{
-		this.reader = new BufferedReader(new InputStreamReader(program.getInputStream()));
-		this.gameState = gameState;
-		this.plateau = plateau;
-	}
-
-
-	public void run()
-	{
-		boolean running = true;
-		while(running)
-			try
-			{
-				String line = reader.readLine();
-				System.out.println(line);
-				if(line == null)
-					running = false;
-				else
-				{
-					if (line.contains("{"))
-					{
-						gameState.update(line.substring(line.indexOf("{"), line.lastIndexOf("}") + 1));
-						Platform.runLater(() ->
-						{
-							for(Case c : plateau.getGrille())
-							{
-								c.setNbFish(gameState.getNbFish(c.getRang()));
-								switch (c.getNbFish())
-								{
-									case 0:
-										c.getCaseFX().setFill(Color.BLUE);
-										break;
-									case 1:
-										c.getCaseFX().setFill(Color.GREEN);
-										break;
-									case 2:
-										c.getCaseFX().setFill(Color.YELLOW);
-										break;
-									case 3:
-										c.getCaseFX().setFill(Color.RED);
-										break;
-								}
-							}
-							// TODO: 4/27/16 update GUI from state
-						});
-					}
-				}
-			} catch (IOException e)
-			{
-				running = false;
-				Platform.runLater(() ->
-				{
-					Alert alert = new Alert(Alert.AlertType.ERROR, "Error during reading from penguin program!", ButtonType.FINISH);
-					e.printStackTrace();
-					alert.showAndWait();
-					System.exit(1);
-				});
-			}
-	}
-}
diff --git a/gui/src/controller/Controller.java b/gui/src/controller/Controller.java
new file mode 100644
index 0000000000000000000000000000000000000000..42bba4d8a1250fd4830b9faa051c03cf01903fb6
--- /dev/null
+++ b/gui/src/controller/Controller.java
@@ -0,0 +1,93 @@
+package controller;
+
+import javafx.event.EventHandler;
+import javafx.fxml.FXML;
+import javafx.fxml.Initializable;
+import javafx.scene.control.Alert;
+import javafx.scene.control.ButtonType;
+import javafx.scene.input.MouseEvent;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.paint.Color;
+import javafx.scene.shape.Polygon;
+import model.GameState;
+import model.Tile;
+import view.TileView;
+
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.net.URL;
+import java.util.ResourceBundle;
+
+public class Controller implements Initializable
+{
+
+	private GameState gameState;
+	private Process gameProcess;
+	private PrintWriter gameInput;
+	private Tile[] board;
+	private TileView[] boardView;
+
+	@FXML
+	private Polygon tile0, tile1, tile2, tile3, tile4, tile5, tile6, tile7, tile8, tile9, tile10, tile11, tile12, tile13, tile14, tile15, tile16, tile17, tile18, tile19, tile20, tile21, tile22, tile23, tile24, tile25, tile26, tile27, tile28, tile29, tile30, tile31, tile32, tile33, tile34, tile35, tile36, tile37, tile38, tile39, tile40, tile41, tile42, tile43, tile44, tile45, tile46, tile47, tile48, tile49, tile50, tile51, tile52, tile53, tile54, tile55, tile56, tile57, tile58, tile59;
+
+	@FXML
+	private BorderPane mainPane;
+
+	@Override
+	public void initialize(URL location, ResourceBundle resources)
+	{
+		Polygon[] fxTiles = {tile0, tile1, tile2, tile3, tile4, tile5, tile6, tile7, tile8, tile9, tile10, tile11, tile12, tile13, tile14, tile15, tile16, tile17, tile18, tile19, tile20, tile21, tile22, tile23, tile24, tile25, tile26, tile27, tile28, tile29, tile30, tile31, tile32, tile33, tile34, tile35, tile36, tile37, tile38, tile39, tile40, tile41, tile42, tile43, tile44, tile45, tile46, tile47, tile48, tile49, tile50, tile51, tile52, tile53, tile54, tile55, tile56, tile57, tile58, tile59};
+		this.board = new Tile[fxTiles.length];
+		this.boardView = new TileView[fxTiles.length];
+		for (int i = 0; i < fxTiles.length; i++)
+		{
+			board[i] = new Tile(i, Tile.PenguinPresence.NO_PENGUIN);
+			boardView[i] = new TileView(fxTiles[i], board[i]);
+		}
+		this.gameState = new GameState();
+		try
+		{
+			this.gameProcess = new ProcessBuilder("../bin/theturk").start();
+			gameInput = new PrintWriter(new OutputStreamWriter(gameProcess.getOutputStream()), true);
+		}
+		catch (IOException e)
+		{
+			Alert alert = new Alert(Alert.AlertType.ERROR, "Can't run penguin program", ButtonType.OK);
+			alert.showAndWait();
+			e.printStackTrace();
+			System.exit(1);
+		}
+		UpdateThread upT = new UpdateThread(gameProcess, this.gameState, this.board, this.boardView);
+		upT.setDaemon(true);
+		upT.start();
+
+		//We tell the game that we will start
+		gameInput.print("h");
+		gameInput.println();
+		gameInput.println("0");
+	}
+
+
+	private class MyClickHandler implements EventHandler<MouseEvent>
+	{
+		@Override
+		public void handle(MouseEvent event)
+		{
+			Polygon poly = (Polygon) event.getSource();
+			poly.setFill(Color.GOLD);
+		}
+	}
+
+	private class MyHexEnteredHandler implements EventHandler<MouseEvent>
+	{
+		@Override
+		public void handle(MouseEvent event)
+		{
+			Polygon poly = (Polygon) event.getSource();
+			poly.setFill(Color.GOLD);
+		}
+	}
+
+
+}
diff --git a/gui/src/controller/UpdateThread.java b/gui/src/controller/UpdateThread.java
new file mode 100644
index 0000000000000000000000000000000000000000..0d70aa388b25b5feb5e42255581ba4c9197f4bec
--- /dev/null
+++ b/gui/src/controller/UpdateThread.java
@@ -0,0 +1,78 @@
+package controller;
+
+import javafx.application.Platform;
+import javafx.scene.control.Alert;
+import javafx.scene.control.ButtonType;
+import model.GameState;
+import model.Player;
+import model.Tile;
+import view.TileView;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+public class UpdateThread extends Thread
+{
+	BufferedReader reader;
+	GameState gameState;
+	Tile[] board;
+	TileView[] boardView;
+
+	public UpdateThread(Process program, GameState gameState, Tile[] board, TileView[] boardView)
+	{
+		this.reader = new BufferedReader(new InputStreamReader(program.getInputStream()));
+		this.gameState = gameState;
+		this.board = board;
+		this.boardView = boardView;
+	}
+
+
+	public void run()
+	{
+		boolean gameRunning = true;
+		while (gameRunning)
+		{
+			try
+			{
+				String line = reader.readLine();
+				System.out.println(line);
+				if (line == null)
+				{
+					gameRunning = false;
+				}
+				else if (line.contains("{")) //Line contains JSON
+				{
+					//UPDATE MODEL
+					gameState.update(line.substring(line.indexOf("{"), line.lastIndexOf("}") + 1)); //Extract JSON string
+					for (int i = 0; i < board.length; i++)
+					{
+						board[i].setNbFish(gameState.getNbFish(i));
+						board[i].setPenguinPresence(Tile.PenguinPresence.NO_PENGUIN);
+					}
+					for (int i = 0; i < 4; i++)
+					{
+						board[gameState.getPenguinPos(i, Player.Red)].setPenguinPresence(Tile.PenguinPresence.RED_PENGUIN);
+						board[gameState.getPenguinPos(i, Player.Blue)].setPenguinPresence(Tile.PenguinPresence.BLUE_PENGUIN);
+					}
+
+					//UPDATE VIEW
+					for (int i = 0; i < boardView.length; i++)
+						boardView[i].updateFromModel();
+				}
+			}
+			catch (IOException e)
+			{
+				gameRunning = false;
+				Platform.runLater(() ->
+				{
+					Alert alert = new Alert(Alert.AlertType.ERROR, "Error during reading from penguin program!", ButtonType.FINISH);
+					alert.showAndWait();
+					e.printStackTrace();
+					System.exit(1);
+				});
+			}
+
+		}
+	}
+}
diff --git a/gui/src/main/Main.java b/gui/src/main/Main.java
new file mode 100644
index 0000000000000000000000000000000000000000..96a011f49320ec0b4931198f08406352d55b83f1
--- /dev/null
+++ b/gui/src/main/Main.java
@@ -0,0 +1,35 @@
+package main;
+
+import javafx.application.Application;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Scene;
+import javafx.scene.layout.BorderPane;
+import javafx.stage.Stage;
+
+
+public class Main extends Application
+{
+
+	public static void main(String[] args)
+	{
+		launch(args);
+	}
+
+	@Override
+	public void start(Stage primaryStage)
+	{
+		try
+		{
+			FXMLLoader loader = new FXMLLoader();
+			loader.setLocation(Main.class.getResource("../view/view.fxml"));
+			BorderPane root = (BorderPane) loader.load();
+			Scene scene = new Scene(root, 1024, 680);
+			primaryStage.setScene(scene);
+			primaryStage.show();
+		}
+		catch (Exception e)
+		{
+			e.printStackTrace();
+		}
+	}
+}
diff --git a/gui/src/GameState.java b/gui/src/model/GameState.java
similarity index 72%
rename from gui/src/GameState.java
rename to gui/src/model/GameState.java
index c838e6e85fc7f76cc06ab3677a320b46ae150001..df2dbec29a701eaf668187312610ca1820d718ed 100644
--- a/gui/src/GameState.java
+++ b/gui/src/model/GameState.java
@@ -1,15 +1,18 @@
-import org.json.*;
+package model;
+
+import org.json.JSONArray;
+import org.json.JSONObject;
 
 import java.util.HashMap;
 import java.util.Map;
 
 public class GameState
 {
-	long[] fish;
-	boolean can_play_red, can_play_blue;
+	long[] fish; //Array of three bitboards: one for every fish value
+	boolean can_play_red, can_play_blue; //If the red(blue) player can play or if it has no moves left
 	Player current_player;
-	Map<Player, int[]> penguins;
-	Map<Player, Integer> score;
+	Map<Player, int[]> penguins; //For every player, the list of his penguins
+	Map<Player, Integer> score; //Score of every player
 
 	public GameState()
 	{
@@ -22,9 +25,9 @@ public class GameState
 		score.put(Player.Blue, 0);
 	}
 
-	public void update (String jsonString){
+	public void update(String jsonString)
+	{
 		//System.out.println(jsonString);
-
 		JSONObject json = new JSONObject(jsonString);
 		can_play_red = json.getJSONObject("can_play").getBoolean("red");
 		can_play_blue = json.getJSONObject("can_play").getBoolean("blue");
@@ -35,12 +38,14 @@ public class GameState
 		score.put(Player.Red, json.getJSONObject("score").getInt("red"));
 		score.put(Player.Blue, json.getJSONObject("score").getInt("blue"));
 		JSONArray jsonPeng = json.getJSONObject("penguins").getJSONArray("red");
-		for(int i = 0; i < jsonPeng.length(); i++)
+		for (int i = 0; i < jsonPeng.length(); i++)
 			penguins.get(Player.Red)[i] = jsonPeng.getInt(i);
 		jsonPeng = json.getJSONObject("penguins").getJSONArray("blue");
-		for(int i = 0; i < jsonPeng.length(); i++)
+		for (int i = 0; i < jsonPeng.length(); i++)
 			penguins.get(Player.Blue)[i] = jsonPeng.getInt(i);
-	};
+	}
+
+	;
 
 	/**
 	 * @param tileNb The number of the tile we want to know the value of
@@ -48,7 +53,7 @@ public class GameState
 	 */
 	public int getNbFish(int tileNb)
 	{
-		if(((fish[0] >>> tileNb) & 1) == 1)
+		if (((fish[0] >>> tileNb) & 1) == 1)
 			return 1;
 		else if (((fish[1] >>> tileNb) & 1) == 1)
 			return 2;
@@ -57,18 +62,18 @@ public class GameState
 		return 0;
 	}
 
-	public int getPenguinPos (int i, Player player)
+	public int getPenguinPos(int i, Player player)
 	{
 		//TODO
-		return -1;
+		return 0;
 	}
 
-	public boolean isCan_play_red()
+	public boolean getCan_play_red()
 	{
 		return can_play_red;
 	}
 
-	public boolean isCan_play_blue()
+	public boolean getCan_play_blue()
 	{
 		return can_play_blue;
 	}
@@ -83,9 +88,4 @@ public class GameState
 		return score.get(player);
 	}
 
-	enum Player
-	{
-		Red,Blue;
-	}
-
 }
diff --git a/gui/src/model/Player.java b/gui/src/model/Player.java
new file mode 100644
index 0000000000000000000000000000000000000000..57ed721933e5f46ea7339ea9e50b16362ef2dd9c
--- /dev/null
+++ b/gui/src/model/Player.java
@@ -0,0 +1,6 @@
+package model;
+
+public enum Player
+{
+	Red, Blue
+}
diff --git a/gui/src/model/Tile.java b/gui/src/model/Tile.java
new file mode 100644
index 0000000000000000000000000000000000000000..de3cd2a9c8d2212eb329efb8d19f199a96dc8be5
--- /dev/null
+++ b/gui/src/model/Tile.java
@@ -0,0 +1,37 @@
+package model;
+
+public class Tile
+{
+
+	private int number; //model.Tile number (bottom right = 0, top left = 59, ascending from right to left)
+	private int nbFish; //Number of fish on the tile
+	private PenguinPresence penguinPresence; //If there is a penguin on this tile
+
+	public Tile(int number, int nbFish, PenguinPresence penguinPresence)
+	{
+		this.number = number;
+		this.nbFish = nbFish;
+		this.penguinPresence = penguinPresence;
+	}
+
+	public Tile(int number, PenguinPresence penguinPresence)
+	{
+		this(number, 0, penguinPresence);
+	}
+
+	public int getNumber() { return number; }
+
+	public int getNbFish() { return nbFish; }
+
+	public void setNbFish(int nbFish) { this.nbFish = nbFish; }
+
+	public PenguinPresence getPenguinPresence() { return penguinPresence; }
+
+	public void setPenguinPresence(PenguinPresence penguinPresence) { this.penguinPresence = penguinPresence; }
+
+	public enum PenguinPresence
+	{
+		NO_PENGUIN, RED_PENGUIN, BLUE_PENGUIN;
+	}
+
+}
diff --git a/gui/src/view/TileView.java b/gui/src/view/TileView.java
new file mode 100644
index 0000000000000000000000000000000000000000..f95e80f15bbae519cdefe40ac35059020351a3d0
--- /dev/null
+++ b/gui/src/view/TileView.java
@@ -0,0 +1,50 @@
+package view;
+
+import javafx.scene.paint.Color;
+import javafx.scene.shape.Polygon;
+import model.Tile;
+
+/**
+ * Class that makes the association between a tile from the model and its representation
+ */
+public class TileView
+{
+	private Polygon fxTile;
+	private Tile modelTile;
+
+	public TileView(Polygon fxTile, Tile modelTile)
+	{
+		this.fxTile = fxTile;
+		this.modelTile = modelTile;
+	}
+
+	/**
+	 * Tell the view to update according to the model
+	 */
+	public void updateFromModel()
+	{
+		//TODO: Better tile representation
+		//FISH NUMBER
+		switch (modelTile.getNbFish())
+		{
+			case 0:
+				fxTile.setFill(Color.LIGHTBLUE);
+				break;
+			case 1:
+				fxTile.setFill(Color.GREENYELLOW);
+				break;
+			case 2:
+				fxTile.setFill(Color.GREEN);
+				break;
+			case 3:
+				fxTile.setFill(Color.DARKGREEN);
+				break;
+		}
+		//PENGUIN
+		if (modelTile.getPenguinPresence().equals(Tile.PenguinPresence.RED_PENGUIN))
+			fxTile.setFill(Color.RED);
+		else if (modelTile.getPenguinPresence().equals(Tile.PenguinPresence.BLUE_PENGUIN))
+			fxTile.setFill(Color.BLUE);
+
+	}
+}
diff --git a/gui/src/view.fxml b/gui/src/view/view.fxml
similarity index 91%
rename from gui/src/view.fxml
rename to gui/src/view/view.fxml
index 1fbc62258d298e38c543e5aa2bd74f0cfac6936f..275ea398624082b0a5be4f3e9ba2811ef29d2164 100644
--- a/gui/src/view.fxml
+++ b/gui/src/view/view.fxml
@@ -5,11 +5,11 @@
 <?import javafx.scene.layout.BorderPane?>
 <?import javafx.scene.shape.Polygon?>
 
-<BorderPane fx:id="panneauPrincipal" xmlns="http://javafx.com/javafx/8.0.71" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controller">
+<BorderPane fx:id="mainPane" xmlns="http://javafx.com/javafx/8.0.71" xmlns:fx="http://javafx.com/fxml/1" fx:controller="controller.Controller">
    <center>
       <AnchorPane prefHeight="487.0" prefWidth="742.0" BorderPane.alignment="CENTER">
          <children>
-            <Polygon fx:id="case7" fill="#1f93ff" layoutX="39.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile7" fill="#1f93ff" layoutX="39.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
               <points>
                 <Double fx:value="-25.0" />
 				<Double fx:value="15.0" />
@@ -31,7 +31,7 @@
 
               </points>
             </Polygon>
-            <Polygon fx:id="case6" fill="#1f93ff" layoutX="89.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile6" fill="#1f93ff" layoutX="89.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -47,7 +47,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case5" fill="#1f93ff" layoutX="139.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile5" fill="#1f93ff" layoutX="139.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -63,7 +63,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case4" fill="#1f93ff" layoutX="189.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile4" fill="#1f93ff" layoutX="189.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -79,7 +79,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case3" fill="#1f93ff" layoutX="239.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile3" fill="#1f93ff" layoutX="239.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -95,7 +95,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case2" fill="#1f93ff" layoutX="289.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile2" fill="#1f93ff" layoutX="289.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -111,7 +111,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case1" fill="#1f93ff" layoutX="339.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile1" fill="#1f93ff" layoutX="339.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -127,7 +127,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case0" fill="#1f93ff" layoutX="389.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile0" fill="#1f93ff" layoutX="389.0" layoutY="434.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -143,7 +143,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case14" fill="#1f93ff" layoutX="64.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile14" fill="#1f93ff" layoutX="64.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -159,7 +159,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case13" fill="#1f93ff" layoutX="114.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile13" fill="#1f93ff" layoutX="114.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -175,7 +175,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case12" fill="#1f93ff" layoutX="164.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile12" fill="#1f93ff" layoutX="164.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -191,7 +191,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case11" fill="#1f93ff" layoutX="214.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile11" fill="#1f93ff" layoutX="214.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -207,7 +207,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case10" fill="#1f93ff" layoutX="264.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile10" fill="#1f93ff" layoutX="264.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -223,7 +223,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case9" fill="#1f93ff" layoutX="314.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile9" fill="#1f93ff" layoutX="314.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -239,7 +239,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case8" fill="#1f93ff" layoutX="364.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile8" fill="#1f93ff" layoutX="364.0" layoutY="389.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -255,7 +255,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case22" fill="#1f93ff" layoutX="39.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile22" fill="#1f93ff" layoutX="39.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -271,7 +271,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case21" fill="#1f93ff" layoutX="89.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile21" fill="#1f93ff" layoutX="89.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -287,7 +287,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case20" fill="#1f93ff" layoutX="139.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile20" fill="#1f93ff" layoutX="139.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -303,7 +303,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case19" fill="#1f93ff" layoutX="189.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile19" fill="#1f93ff" layoutX="189.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -319,7 +319,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case18" fill="#1f93ff" layoutX="239.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile18" fill="#1f93ff" layoutX="239.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -335,7 +335,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case17" fill="#1f93ff" layoutX="289.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile17" fill="#1f93ff" layoutX="289.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -351,7 +351,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case16" fill="#1f93ff" layoutX="339.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile16" fill="#1f93ff" layoutX="339.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -367,7 +367,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case15" fill="#1f93ff" layoutX="389.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile15" fill="#1f93ff" layoutX="389.0" layoutY="344.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -383,7 +383,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case29" fill="#1f93ff" layoutX="64.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile29" fill="#1f93ff" layoutX="64.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -399,7 +399,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case28" fill="#1f93ff" layoutX="114.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile28" fill="#1f93ff" layoutX="114.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -415,7 +415,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case27" fill="#1f93ff" layoutX="164.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile27" fill="#1f93ff" layoutX="164.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -431,7 +431,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case26" fill="#1f93ff" layoutX="214.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile26" fill="#1f93ff" layoutX="214.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -447,7 +447,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case25" fill="#1f93ff" layoutX="264.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile25" fill="#1f93ff" layoutX="264.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -463,7 +463,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case24" fill="#1f93ff" layoutX="314.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile24" fill="#1f93ff" layoutX="314.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -479,7 +479,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case23" fill="#1f93ff" layoutX="364.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile23" fill="#1f93ff" layoutX="364.0" layoutY="299.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -495,7 +495,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case37" fill="#1f93ff" layoutX="39.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile37" fill="#1f93ff" layoutX="39.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -511,7 +511,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case36" fill="#1f93ff" layoutX="89.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile36" fill="#1f93ff" layoutX="89.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -527,7 +527,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case35" fill="#1f93ff" layoutX="139.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile35" fill="#1f93ff" layoutX="139.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -543,7 +543,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case34" fill="#1f93ff" layoutX="189.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile34" fill="#1f93ff" layoutX="189.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -559,7 +559,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case33" fill="#1f93ff" layoutX="239.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile33" fill="#1f93ff" layoutX="239.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -575,7 +575,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case32" fill="#1f93ff" layoutX="289.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile32" fill="#1f93ff" layoutX="289.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -591,7 +591,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case31" fill="#1f93ff" layoutX="339.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile31" fill="#1f93ff" layoutX="339.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -607,7 +607,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case30" fill="#1f93ff" layoutX="389.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile30" fill="#1f93ff" layoutX="389.0" layoutY="254.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -623,7 +623,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case44" fill="#1f93ff" layoutX="64.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile44" fill="#1f93ff" layoutX="64.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -639,7 +639,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case43" fill="#1f93ff" layoutX="114.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile43" fill="#1f93ff" layoutX="114.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -655,7 +655,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case42" fill="#1f93ff" layoutX="164.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile42" fill="#1f93ff" layoutX="164.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -671,7 +671,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case41" fill="#1f93ff" layoutX="214.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile41" fill="#1f93ff" layoutX="214.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -687,7 +687,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case40" fill="#1f93ff" layoutX="264.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile40" fill="#1f93ff" layoutX="264.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -703,7 +703,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case39" fill="#1f93ff" layoutX="314.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile39" fill="#1f93ff" layoutX="314.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -719,7 +719,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case38" fill="#1f93ff" layoutX="364.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile38" fill="#1f93ff" layoutX="364.0" layoutY="209.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -735,7 +735,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case52" fill="#1f93ff" layoutX="39.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile52" fill="#1f93ff" layoutX="39.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -751,7 +751,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case51" fill="#1f93ff" layoutX="89.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile51" fill="#1f93ff" layoutX="89.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -767,7 +767,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case50" fill="#1f93ff" layoutX="139.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile50" fill="#1f93ff" layoutX="139.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -783,7 +783,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case49" fill="#1f93ff" layoutX="189.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile49" fill="#1f93ff" layoutX="189.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -799,7 +799,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case48" fill="#1f93ff" layoutX="239.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile48" fill="#1f93ff" layoutX="239.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -815,7 +815,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case47" fill="#1f93ff" layoutX="289.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile47" fill="#1f93ff" layoutX="289.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -831,7 +831,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case46" fill="#1f93ff" layoutX="339.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile46" fill="#1f93ff" layoutX="339.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -847,7 +847,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case45" fill="#1f93ff" layoutX="389.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile45" fill="#1f93ff" layoutX="389.0" layoutY="164.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -863,7 +863,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case59" fill="#1f93ff" layoutX="64.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile59" fill="#1f93ff" layoutX="64.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -879,7 +879,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case58" fill="#1f93ff" layoutX="114.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile58" fill="#1f93ff" layoutX="114.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -895,7 +895,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case57" fill="#1f93ff" layoutX="164.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile57" fill="#1f93ff" layoutX="164.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -911,7 +911,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case56" fill="#1f93ff" layoutX="214.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile56" fill="#1f93ff" layoutX="214.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -927,7 +927,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case55" fill="#1f93ff" layoutX="264.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile55" fill="#1f93ff" layoutX="264.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -943,7 +943,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case54" fill="#1f93ff" layoutX="314.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile54" fill="#1f93ff" layoutX="314.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />
@@ -959,7 +959,7 @@
                   <Double fx:value="-15.0" />
                </points>
             </Polygon>
-            <Polygon fx:id="case53" fill="#1f93ff" layoutX="364.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
+            <Polygon fx:id="tile53" fill="#1f93ff" layoutX="364.0" layoutY="119.0" stroke="BLACK" strokeType="INSIDE">
                <points>
                   <Double fx:value="-25.0" />
                   <Double fx:value="15.0" />