Skip to content
Snippets Groups Projects
Commit ed163020 authored by Bariatti Francesco's avatar Bariatti Francesco
Browse files

Changed Tile representation in GUI

parent aeef4825
No related branches found
No related tags found
No related merge requests found
......@@ -37,6 +37,8 @@ public class Controller implements Initializable
@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 Label nbFish0, nbFish1, nbFish2, nbFish3, nbFish4, nbFish5, nbFish6, nbFish7, nbFish8, nbFish9, nbFish10, nbFish11, nbFish12, nbFish13, nbFish14, nbFish15, nbFish16, nbFish17, nbFish18, nbFish19, nbFish20, nbFish21, nbFish22, nbFish23, nbFish24, nbFish25, nbFish26, nbFish27, nbFish28, nbFish29, nbFish30, nbFish31, nbFish32, nbFish33, nbFish34, nbFish35, nbFish36, nbFish37, nbFish38, nbFish39, nbFish40, nbFish41, nbFish42, nbFish43, nbFish44, nbFish45, nbFish46, nbFish47, nbFish48, nbFish49, nbFish50, nbFish51, nbFish52, nbFish53, nbFish54, nbFish55, nbFish56, nbFish57, nbFish58, nbFish59;
@FXML
private BorderPane mainPane;
......@@ -48,13 +50,16 @@ public class Controller implements Initializable
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};
Label[] labels = {nbFish0, nbFish1, nbFish2, nbFish3, nbFish4, nbFish5, nbFish6, nbFish7, nbFish8, nbFish9, nbFish10, nbFish11, nbFish12, nbFish13, nbFish14, nbFish15, nbFish16, nbFish17, nbFish18, nbFish19, nbFish20, nbFish21, nbFish22, nbFish23, nbFish24, nbFish25, nbFish26, nbFish27, nbFish28, nbFish29, nbFish30, nbFish31, nbFish32, nbFish33, nbFish34, nbFish35, nbFish36, nbFish37, nbFish38, nbFish39, nbFish40, nbFish41, nbFish42, nbFish43, nbFish44, nbFish45, nbFish46, nbFish47, nbFish48, nbFish49, nbFish50, nbFish51, nbFish52, nbFish53, nbFish54, nbFish55, nbFish56, nbFish57, nbFish58, nbFish59};
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);
fxTiles[i].setOnMouseClicked(new TileClickHandler(i));
boardView[i] = new TileView(fxTiles[i], board[i]);
TileClickHandler clickHandler = new TileClickHandler(i);
fxTiles[i].setOnMouseClicked(clickHandler);
labels[i].setOnMouseClicked(clickHandler);
boardView[i] = new TileView(fxTiles[i], board[i], labels[i]);
}
this.selectedTile = -1;
this.gameState = new GameState();
......
......@@ -79,9 +79,9 @@ public class UpdateThread extends Thread
}
//UPDATE VIEW
for (int i = 0; i < boardView.length; i++)
boardView[i].update();
Platform.runLater(() -> {
for (int i = 0; i < boardView.length; i++)
boardView[i].update();
scoreRed.setText(Integer.toString(gameState.getScore(Player.Red)));
scoreBlue.setText(Integer.toString(gameState.getScore(Player.Blue)));
turnLabel.setText(gameState.getCurrent_player()+ "'s turn");
......
package view;
import javafx.scene.control.Label;
import javafx.scene.paint.Color;
import javafx.scene.shape.Polygon;
import model.Move;
......@@ -12,14 +13,16 @@ public class TileView
{
private Polygon fxTile;
private Tile modelTile;
private Label fishLabel;
private boolean selected, highlighted;
private Move highlightMove = null; // How do we get here from the selected tile (used when highlighting)
public TileView(Polygon fxTile, Tile modelTile)
public TileView(Polygon fxTile, Tile modelTile, Label fishLabel)
{
this.fxTile = fxTile;
this.modelTile = modelTile;
this.fishLabel = fishLabel;
}
/**
......@@ -30,20 +33,15 @@ public class TileView
//TODO: Better tile representation
Color fillColor = null;
//FISH NUMBER
switch (modelTile.getNbFish())
if(modelTile.getNbFish() == 0)
{
case 0:
fillColor = Color.LIGHTBLUE;
break;
case 1:
fillColor = Color.GREENYELLOW;
break;
case 2:
fillColor = Color.GREEN;
break;
case 3:
fillColor = Color.DARKGREEN;
break;
fishLabel.setText("");
fillColor = Color.WHITE;
}
else
{
fishLabel.setText(Integer.toString(modelTile.getNbFish()));
fillColor = Color.LIGHTBLUE;
}
//PENGUIN
if (modelTile.getPenguinPresence().equals(Tile.PenguinPresence.RED_PENGUIN))
......@@ -53,9 +51,9 @@ public class TileView
//SELECTION/HIGHLIGHT
if (selected)
fillColor = fillColor.deriveColor(0, 1, 0.5, 1);
if (highlighted)
fillColor = fillColor.deriveColor(0, 0.5, 1, 1);
if (highlighted)
fillColor = fillColor.deriveColor(0, 1, 0.5, 1);
fxTile.setFill(fillColor);
......
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.image.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.text.*?>
<?import java.lang.*?>
......@@ -1016,6 +1017,66 @@
<Font size="24.0" />
</font>
</Label>
<Label fx:id="nbFish44" layoutX="61.0" layoutY="202.0" text="0" />
<Label fx:id="nbFish43" layoutX="111.0" layoutY="202.0" text="0" />
<Label fx:id="nbFish42" layoutX="161.0" layoutY="202.0" text="0" />
<Label fx:id="nbFish41" layoutX="211.0" layoutY="202.0" text="0" />
<Label fx:id="nbFish40" layoutX="260.0" layoutY="202.0" text="0" />
<Label fx:id="nbFish39" layoutX="310.0" layoutY="202.0" text="0" />
<Label fx:id="nbFish38" layoutX="360.0" layoutY="202.0" text="0" />
<Label fx:id="nbFish59" layoutX="60.0" layoutY="112.0" text="0" />
<Label fx:id="nbFish58" layoutX="110.0" layoutY="112.0" text="0" />
<Label fx:id="nbFish57" layoutX="160.0" layoutY="112.0" text="0" />
<Label fx:id="nbFish56" layoutX="210.0" layoutY="112.0" text="0" />
<Label fx:id="nbFish55" layoutX="259.0" layoutY="112.0" text="0" />
<Label fx:id="nbFish54" layoutX="309.0" layoutY="112.0" text="0" />
<Label fx:id="nbFish53" layoutX="359.0" layoutY="112.0" text="0" />
<Label fx:id="nbFish29" layoutX="60.0" layoutY="292.0" text="0" />
<Label fx:id="nbFish28" layoutX="110.0" layoutY="292.0" text="0" />
<Label fx:id="nbFish27" layoutX="160.0" layoutY="292.0" text="0" />
<Label fx:id="nbFish26" layoutX="210.0" layoutY="292.0" text="0" />
<Label fx:id="nbFish25" layoutX="259.0" layoutY="292.0" text="0" />
<Label fx:id="nbFish24" layoutX="309.0" layoutY="292.0" text="0" />
<Label fx:id="nbFish23" layoutX="359.0" layoutY="292.0" text="0" />
<Label fx:id="nbFish14" layoutX="60.0" layoutY="383.0" text="0" />
<Label fx:id="nbFish13" layoutX="110.0" layoutY="383.0" text="0" />
<Label fx:id="nbFish12" layoutX="160.0" layoutY="383.0" text="0" />
<Label fx:id="nbFish11" layoutX="210.0" layoutY="383.0" text="0" />
<Label fx:id="nbFish10" layoutX="259.0" layoutY="383.0" text="0" />
<Label fx:id="nbFish9" layoutX="309.0" layoutY="383.0" text="0" />
<Label fx:id="nbFish8" layoutX="359.0" layoutY="383.0" text="0" />
<Label fx:id="nbFish6" layoutX="84.0" layoutY="427.0" text="0" />
<Label fx:id="nbFish5" layoutX="134.0" layoutY="427.0" text="0" />
<Label fx:id="nbFish4" layoutX="184.0" layoutY="427.0" text="0" />
<Label fx:id="nbFish3" layoutX="234.0" layoutY="427.0" text="0" />
<Label fx:id="nbFish2" layoutX="283.0" layoutY="427.0" text="0" />
<Label fx:id="nbFish1" layoutX="333.0" layoutY="427.0" text="0" />
<Label fx:id="nbFish0" layoutX="383.0" layoutY="427.0" text="0" />
<Label fx:id="nbFish21" layoutX="86.0" layoutY="337.0" text="0" />
<Label fx:id="nbFish20" layoutX="136.0" layoutY="337.0" text="0" />
<Label fx:id="nbFish19" layoutX="186.0" layoutY="337.0" text="0" />
<Label fx:id="nbFish18" layoutX="236.0" layoutY="337.0" text="0" />
<Label fx:id="nbFish17" layoutX="285.0" layoutY="337.0" text="0" />
<Label fx:id="nbFish16" layoutX="335.0" layoutY="337.0" text="0" />
<Label fx:id="nbFish15" layoutX="385.0" layoutY="337.0" text="0" />
<Label fx:id="nbFish36" layoutX="85.0" layoutY="247.0" text="0" />
<Label fx:id="nbFish35" layoutX="135.0" layoutY="247.0" text="0" />
<Label fx:id="nbFish34" layoutX="185.0" layoutY="247.0" text="0" />
<Label fx:id="nbFish33" layoutX="235.0" layoutY="247.0" text="0" />
<Label fx:id="nbFish32" layoutX="284.0" layoutY="247.0" text="0" />
<Label fx:id="nbFish31" layoutX="334.0" layoutY="247.0" text="0" />
<Label fx:id="nbFish30" layoutX="384.0" layoutY="247.0" text="0" />
<Label fx:id="nbFish51" layoutX="84.0" layoutY="157.0" text="0" />
<Label fx:id="nbFish50" layoutX="134.0" layoutY="157.0" text="0" />
<Label fx:id="nbFish49" layoutX="184.0" layoutY="157.0" text="0" />
<Label fx:id="nbFish48" layoutX="234.0" layoutY="157.0" text="0" />
<Label fx:id="nbFish47" layoutX="283.0" layoutY="157.0" text="0" />
<Label fx:id="nbFish46" layoutX="333.0" layoutY="157.0" text="0" />
<Label fx:id="nbFish45" layoutX="383.0" layoutY="157.0" text="0" />
<Label fx:id="nbFish7" layoutX="34.0" layoutY="427.0" text="0" />
<Label fx:id="nbFish22" layoutX="34.0" layoutY="337.0" text="0" />
<Label fx:id="nbFish37" layoutX="34.0" layoutY="247.0" text="0" />
<Label fx:id="nbFish52" layoutX="34.0" layoutY="157.0" text="0" />
</children>
</AnchorPane>
</center>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment