Task 5 should be finished I think
NOTE: There's a bug with the water board and stoneCircles tile generator. Will fix later hopefully lol Signed-off-by: Immanuel Alvaro Bhirawa <u7280427@anu.edu.au>
This commit is contained in:
parent
5a2e876a29
commit
bb364bd4c7
@ -131,21 +131,10 @@ public class Viewer extends Application {
|
||||
root.getChildren().clear();
|
||||
root.getChildren().add(controls);
|
||||
|
||||
// To group the root and adjust their Px sizes accordingly
|
||||
// to each other
|
||||
// StackPane rootGroup = new StackPane();
|
||||
|
||||
// a 13 2; c 0 E; i 6 0,0 0,1 0,2 0,3 1,0 1,
|
||||
// String gameArrangementState = parts[i];
|
||||
// String[] gameArrangementStateParts = gameArrangementState.split(" ");
|
||||
// int boardHeight = Integer.parseInt(gameArrangementStateParts[1]);
|
||||
// int boardHeightPx = boardHeight * 45;
|
||||
|
||||
GridPane viewerGrid = new GridPane();
|
||||
String[] parts = stateString.split("; ?");
|
||||
int boardHeight = 0;
|
||||
int boardHeightPx = 0;
|
||||
// int tileSize = 500;
|
||||
for ( String part : parts) {
|
||||
String[] parseSplit = part.split(" ");
|
||||
String stateCases = parseSplit[0];
|
||||
@ -155,7 +144,6 @@ public class Viewer extends Application {
|
||||
boardHeightPx = 575;
|
||||
viewerGrid.setPrefWidth(boardHeightPx);
|
||||
viewerGrid.setPrefHeight(boardHeightPx);
|
||||
// viewerGrid.relocate((VIEWER_WIDTH/2-viewerGrid.getPrefWidth()/2), (VIEWER_HEIGHT/2-viewerGrid.getPrefHeight()/2));
|
||||
|
||||
// row major order
|
||||
for(int i = 0; i < boardHeight; i++){
|
||||
@ -163,10 +151,6 @@ public class Viewer extends Application {
|
||||
Rectangle boardMap = new Rectangle(boardHeightPx/boardHeight,
|
||||
boardHeightPx/boardHeight, Color.DARKBLUE);
|
||||
viewerGrid.add(boardMap, i, j);
|
||||
// Label boardLabel = new Label(i + "," + j);
|
||||
// boardLabel.setFont(Font.font("Sans Serif", 12));
|
||||
// boardLabel.setTextFill(Color.WHITE);
|
||||
// viewerGrid.add(boardLabel, i, j);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -200,15 +184,7 @@ public class Viewer extends Application {
|
||||
String[] coords = parseSplit[i].split(",");
|
||||
int xCoord = Integer.parseInt(coords[0]);
|
||||
int yCoord = Integer.parseInt(coords[1]);
|
||||
// Label islandLabel = new Label(xCoord + "," + yCoord +
|
||||
// "\n b " + parseSplit[1]);
|
||||
// islandLabel.setTextFill(Color.GREENYELLOW);
|
||||
// islandLabel.setFont(Font.font("Sans Serif", 12));
|
||||
// viewerGrid.add(islandLabel, xCoord, yCoord);
|
||||
// viewerGrid.setAlignment(Pos.CENTER);
|
||||
viewerGrid.add(island, xCoord, yCoord);
|
||||
|
||||
// root.getChildren().add(viewerGrid);
|
||||
}
|
||||
break;
|
||||
case "s":
|
||||
@ -217,7 +193,6 @@ public class Viewer extends Application {
|
||||
- 15, boardHeightPx/boardHeight - 15, Color.GRAY);
|
||||
String[] coords = parseSplit[i].split(",");
|
||||
theRock.setTranslateX(5);
|
||||
// theRock.setTranslateY(0);
|
||||
viewerGrid.add(theRock, Integer.parseInt(coords[0]),
|
||||
Integer.parseInt(coords[1]));
|
||||
}
|
||||
@ -226,11 +201,8 @@ public class Viewer extends Application {
|
||||
for(int i = 1; i < parseSplit.length; i++){
|
||||
switch(parseSplit[i]) {
|
||||
case "C":
|
||||
// System.out.println("Start of C " + parseSplit[i]);
|
||||
i++;
|
||||
// System.out.println("First iteration of C" + parseSplit[i]);
|
||||
while(!parseSplit[i].equals("B")){
|
||||
// System.out.println("C loop" + parseSplit[i]);
|
||||
String[] coords = parseSplit[i].split(",");
|
||||
Rectangle coconut = new Rectangle(boardHeightPx/boardHeight
|
||||
- 15, boardHeightPx/boardHeight - 15, Color.BROWN);
|
||||
@ -244,7 +216,6 @@ public class Viewer extends Application {
|
||||
viewerGrid.add(coconutLabel, Integer.parseInt(coords[0]),
|
||||
Integer.parseInt(coords[1]));
|
||||
i++;
|
||||
// System.out.println("End of C loop" + parseSplit[i]);
|
||||
}
|
||||
i--;
|
||||
break;
|
||||
@ -326,389 +297,72 @@ public class Viewer extends Application {
|
||||
break;
|
||||
}
|
||||
}
|
||||
// String[] parseSplit = part.split(" ");
|
||||
// String stateCases = parseSplit[0];
|
||||
// String[] parseSplit = part.split(" ");
|
||||
// for (String parse : parseSplit) {
|
||||
// switch (parse) {
|
||||
// case "C":
|
||||
// Rectangle coconut = new Rectangle(boardHeightPx/boardHeight
|
||||
// - 15, boardHeightPx/boardHeight - 15,
|
||||
// Color.BROWN);
|
||||
// String[] coords = parseSplit[i].split(",");
|
||||
// viewerGrid.add(coconut, Integer.parseInt(coords[0]),
|
||||
// Integer.parseInt(coords[1]));
|
||||
// }
|
||||
// }
|
||||
break;
|
||||
case "p":
|
||||
String container = "";
|
||||
container += "player " + parseSplit[1] + " with score: " +
|
||||
parseSplit[2] + ", coconuts: " + parseSplit[3] +
|
||||
", bambooo: " + parseSplit[4] + ", statuettes: " +
|
||||
parseSplit[5] + ", placed settlers at ";
|
||||
int i = 9;
|
||||
int counter = 0;
|
||||
while(!parseSplit[i].equals("T")){
|
||||
counter++;
|
||||
String[] coords = parseSplit[i].split(",");
|
||||
Rectangle settlers = new Rectangle(boardHeightPx/boardHeight
|
||||
- 15, boardHeightPx/boardHeight - 15, Color.PINK);
|
||||
settlers.setTranslateX(5);
|
||||
Label settlerLabel = new Label("Settlers");
|
||||
settlerLabel.setTextFill(Color.BLACK);
|
||||
settlerLabel.setFont(Font.font("Sans Serif", 9));
|
||||
settlerLabel.setTranslateX(5);
|
||||
viewerGrid.add(settlers, Integer.parseInt(coords[0]),
|
||||
Integer.parseInt(coords[1]));
|
||||
viewerGrid.add(settlerLabel, Integer.parseInt(coords[0]),
|
||||
Integer.parseInt(coords[1]));
|
||||
if(counter > 1) container += " and ";
|
||||
container += Integer.parseInt(coords[0]) + "," +
|
||||
Integer.parseInt(coords[1]);
|
||||
i++;
|
||||
}
|
||||
i++;
|
||||
|
||||
container += ", placed villages at ";
|
||||
int counterT = 0;
|
||||
while(i < parseSplit.length){
|
||||
counter++;
|
||||
String[] coords = parseSplit[i].split(",");
|
||||
Rectangle village = new Rectangle(boardHeightPx/boardHeight
|
||||
- 15, boardHeightPx/boardHeight - 15, Color.LIGHTGOLDENRODYELLOW);
|
||||
village.setTranslateX(5);
|
||||
Label villageLabel = new Label("Village");
|
||||
villageLabel.setTextFill(Color.BLACK);
|
||||
villageLabel.setFont(Font.font("Sans Serif", 9));
|
||||
villageLabel.setTranslateX(5);
|
||||
viewerGrid.add(village, Integer.parseInt(coords[0]),
|
||||
Integer.parseInt(coords[1]));
|
||||
viewerGrid.add(villageLabel, Integer.parseInt(coords[0]),
|
||||
Integer.parseInt(coords[1]));
|
||||
if(counterT > 1) container += " and ";
|
||||
container += Integer.parseInt(coords[0]) + "," +
|
||||
Integer.parseInt(coords[1]);
|
||||
i++;
|
||||
}
|
||||
|
||||
Text playerStateText = new Text();
|
||||
playerStateText.setText(container);
|
||||
playerStateText.setFont(Font.font("Sans Serif",
|
||||
FontWeight.BOLD, 12));
|
||||
playerStateText.setX(275);
|
||||
playerStateText.setY(645);
|
||||
playerStateText.setTextAlignment(TextAlignment.CENTER);
|
||||
root.getChildren().add(playerStateText);
|
||||
playerStateText.setFill(Color.BLACK);
|
||||
// }
|
||||
// parts[i].matches(" c \\d [ES]")
|
||||
//String[] parseSplit = part.split(" ");
|
||||
// break;
|
||||
//r C 1,1 B 1,2 W P 1,4 S;
|
||||
}
|
||||
}
|
||||
viewerGrid.relocate((VIEWER_WIDTH/2-viewerGrid.getPrefWidth()/2), (VIEWER_HEIGHT/2-viewerGrid.getPrefHeight()/2));
|
||||
root.getChildren().add(viewerGrid);
|
||||
|
||||
// String currentArrangementState = parts[i];
|
||||
//// String[] currentArrangementStateParts = currentArrangementState.split(" ");
|
||||
//// int playerId = Integer.parseInt(currentArrangementStateParts[2]);
|
||||
//// String currentArrangementPhaseParts = currentArrangementStateParts[3];
|
||||
//// String currentArrangementActualPhase = "";
|
||||
//// switch (currentArrangementPhaseParts) {
|
||||
//// case "E": {
|
||||
//// currentArrangementActualPhase = "Exploration";
|
||||
//// break;
|
||||
//// }
|
||||
//// case "S": {
|
||||
//// currentArrangementActualPhase = "Settler";
|
||||
//// break;
|
||||
//// }
|
||||
//// }
|
||||
////
|
||||
//// Text currentStateText = new Text();
|
||||
// currentStateText.setText("The current player to move is player " +
|
||||
// playerId + " in the " + currentArrangementActualPhase +
|
||||
// " phase");
|
||||
// currentStateText.setFont(Font.font("Sans Serif",
|
||||
// FontWeight.BOLD, 20));
|
||||
// currentStateText.setX(VIEWER_WIDTH / boardHeight * 3.5);
|
||||
// currentStateText.setY(50);
|
||||
// currentStateText.setTextAlignment(TextAlignment.CENTER);
|
||||
// root.getChildren().add(currentStateText);
|
||||
// currentStateText.setFill(Color.GREEN);
|
||||
//
|
||||
// String[] parts = stateString.split(";");
|
||||
// String gameArrangementState = parts[0];
|
||||
// String[] gameArrangementStateParts = gameArrangementState.split(" ");
|
||||
// int boardHeight = Integer.parseInt(gameArrangementStateParts[1]);
|
||||
// int boardHeightPx = boardHeight * 45;
|
||||
// int tilePxSize = (boardHeightPx-45) / boardHeight;
|
||||
//
|
||||
// Rectangle board = new Rectangle();
|
||||
// board.setWidth(boardHeightPx); // width (assume for right now the map is a square
|
||||
// board.setHeight(boardHeightPx); // height
|
||||
// board.setX((VIEWER_WIDTH / 2) - board.getWidth() / 2); // starting x loc
|
||||
// board.setY((VIEWER_HEIGHT / 2) - board.getHeight() / 2); // starting y loc
|
||||
// board.setFill(Color.DARKBLUE);
|
||||
// root.getChildren().add(board);
|
||||
//
|
||||
// for (int i = 0; i < parts.length; i++) {
|
||||
//// if(parts[i].matches("a \\d{1,2} \\d")){
|
||||
//// Rectangle board = new Rectangle();
|
||||
//// board.setWidth(boardHeightPx); // width (assume for right now the map is a square
|
||||
//// board.setHeight(boardHeightPx); // height
|
||||
//// board.setX((VIEWER_WIDTH / 2) - board.getWidth()/2); // starting x loc
|
||||
//// board.setY((VIEWER_HEIGHT / 2) - board.getHeight()/2); // starting y loc
|
||||
//// board.setFill(Color.DARKBLUE);
|
||||
//// root.getChildren().add(board);
|
||||
//// }
|
||||
//
|
||||
// if (parts[i].matches(" c \\d [ES]")) {
|
||||
// String currentArrangementState = parts[i];
|
||||
// String[] currentArrangementStateParts = currentArrangementState.split(" ");
|
||||
// int playerId = Integer.parseInt(currentArrangementStateParts[2]);
|
||||
// String currentArrangementPhaseParts = currentArrangementStateParts[3];
|
||||
// String currentArrangementActualPhase = "";
|
||||
// switch (currentArrangementPhaseParts) {
|
||||
// case "E": {
|
||||
// currentArrangementActualPhase = "Exploration";
|
||||
// break;
|
||||
// }
|
||||
// case "S": {
|
||||
// currentArrangementActualPhase = "Settler";
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// Text currentStateText = new Text();
|
||||
// currentStateText.setText("The current player to move is player " +
|
||||
// playerId + " in the " + currentArrangementActualPhase +
|
||||
// " phase");
|
||||
// currentStateText.setFont(Font.font("Sans Serif",
|
||||
// FontWeight.BOLD, 20));
|
||||
// currentStateText.setX(VIEWER_WIDTH / boardHeight * 3.5);
|
||||
// currentStateText.setY(50);
|
||||
// currentStateText.setTextAlignment(TextAlignment.CENTER);
|
||||
// root.getChildren().add(currentStateText);
|
||||
// currentStateText.setFill(Color.GREEN);
|
||||
// }
|
||||
//
|
||||
// // i 6 0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3 1,4 2,0 2,1;
|
||||
// //a 13 2; c 0 E; i 6 0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3 1,4 2,0 2,1
|
||||
//// a 13 2; c 0 E; i 6 0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3 1,4 2,0 2,1;
|
||||
//// * i 6 0,5 0,6 0,7 1,6 1,7 1,8 2,6 2,7 2,8 3,7 3,8
|
||||
//
|
||||
// if (parts[i].matches(" i \\d{1,2} (\\d{1,2},\\d{1,2} )*\\d{1,2},\\d{1,2}")) {
|
||||
// GridPane islandGrid = new GridPane();
|
||||
// String[] islandString = parts[i].split(" ");
|
||||
// for(int j = 3; j < islandString.length; j++){
|
||||
// Rectangle islandTiles = new Rectangle(tilePxSize, tilePxSize, Color.GREEN);
|
||||
// String[] coords = islandString[j].split(",");
|
||||
// islandGrid.add(islandTiles, Integer.parseInt(coords[0]),
|
||||
// Integer.parseInt(coords[1]));
|
||||
// islandGrid.setTranslateX(board.getX());
|
||||
// islandGrid.setTranslateY(board.getY());
|
||||
// }
|
||||
// root.getChildren().add(islandGrid);
|
||||
// }
|
||||
// }
|
||||
// String[] islandString = parts[i].split(" ");
|
||||
// for (int j = i; j < parts.length; j++) {
|
||||
// String[] islandString = parts[i].split(" ");
|
||||
// Text bonusPointIslandText = new Text();
|
||||
// bonusPointIslandText.setText("The bonus point for this island is " +
|
||||
// islandString[2]);
|
||||
// bonusPointIslandText.setFont(Font.font("Sans Serif",
|
||||
// FontWeight.BOLD, 10));
|
||||
// bonusPointIslandText.setX(50);
|
||||
// bonusPointIslandText.setY(150);
|
||||
// bonusPointIslandText.setTextAlignment(TextAlignment.CENTER);
|
||||
// root.getChildren().add(bonusPointIslandText);
|
||||
// bonusPointIslandText.setFill(Color.RED);
|
||||
//// System.out.println("Parts[i] : " + parts[j]);
|
||||
// for (int k = 3; k < islandString.length; k++) {
|
||||
// String[] islandCoords = islandString[k].split(",");
|
||||
// System.out.println("IslandString: " + islandString[k]);
|
||||
// Rectangle island = new Rectangle(
|
||||
// Integer.parseInt(islandCoords[0]) * boardHeight,
|
||||
// Integer.parseInt(islandCoords[1]) * boardHeight,
|
||||
// (boardHeightPx - 100) / boardHeight,
|
||||
// (boardHeightPx - 100) / boardHeight
|
||||
// );
|
||||
//// island.setX((VIEWER_WIDTH / 2) - (board.getWidth()/2) + 50);
|
||||
//// island.setY((VIEWER_HEIGHT / 2) - (board.getHeight()/2) + 50);
|
||||
// island.setTranslateX((VIEWER_WIDTH / 2) - board.getWidth() / 2 + 50);
|
||||
// island.setTranslateY((VIEWER_HEIGHT / 2) - board.getHeight() / 2 + 50);
|
||||
// island.setFill(Color.GREEN);
|
||||
// root.getChildren().add(island);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// if (k == 2) {
|
||||
// Text bonusPointIslandText = new Text();
|
||||
// bonusPointIslandText.setText("The bonus point for this island is " +
|
||||
// islandString[2]);
|
||||
// bonusPointIslandText.setFont(Font.font("Sans Serif",
|
||||
// FontWeight.BOLD, 10));
|
||||
// bonusPointIslandText.setX(50);
|
||||
// bonusPointIslandText.setY(150);
|
||||
// bonusPointIslandText.setTextAlignment(TextAlignment.CENTER);
|
||||
// root.getChildren().add(bonusPointIslandText);
|
||||
// bonusPointIslandText.setFill(Color.RED);
|
||||
// } else {
|
||||
// Label rectangleLabel = new Label();
|
||||
|
||||
// for(int j = i+1; j < islandString.length; j++){
|
||||
// Label rectangleLabel = new Label();
|
||||
// if(j == 3) {
|
||||
// Text bonusPointIslandText = new Text();
|
||||
// bonusPointIslandText.setText("The bonus point for this island is " +
|
||||
// islandString[j]);
|
||||
// bonusPointIslandText.setFont(Font.font("Sans Serif",
|
||||
// FontWeight.BOLD, 20));
|
||||
// bonusPointIslandText.setX(50);
|
||||
// bonusPointIslandText.setY(150);
|
||||
// bonusPointIslandText.setTextAlignment(TextAlignment.CENTER);
|
||||
// root.getChildren().add(bonusPointIslandText);
|
||||
// bonusPointIslandText.setFill(Color.GREEN);
|
||||
// }
|
||||
// String[] islandCoords = islandString[j].split(",");
|
||||
// Rectangle island = new Rectangle(
|
||||
// Integer.parseInt(islandCoords[0]) * boardHeight,
|
||||
// Integer.parseInt(islandCoords[1]) * boardHeight,
|
||||
// boardHeightPx - 100 / boardHeight,
|
||||
// boardHeightPx - 100 / boardHeight
|
||||
// );
|
||||
// island.setX((VIEWER_WIDTH / 2) - (board.getWidth()/2) + 50);
|
||||
// island.setY((VIEWER_HEIGHT / 2) - (board.getHeight()/2) + 50);
|
||||
// island.setTranslateX((VIEWER_WIDTH / 2) - board.getWidth() / 2 + 50);
|
||||
// island.setTranslateY((VIEWER_HEIGHT / 2) - board.getHeight() / 2 + 50);
|
||||
// island.setFill(Color.GREEN);
|
||||
// root.getChildren().add(island);
|
||||
// }
|
||||
// System.out.println("tod");
|
||||
// for (int j = 2; j < parts.length; j++) {
|
||||
// String[] islandString = parts[j].split(" ");
|
||||
// System.out.println("Parts[j] : " + parts[j]);
|
||||
// for (int k = 3; k < islandString.length; k++) {
|
||||
// Label rectangleLabel = new Label();
|
||||
// String[] islandCoords = islandString[k].split(",");
|
||||
// System.out.println("IslandString: " + islandString[k]);
|
||||
// Rectangle island = new Rectangle(
|
||||
// Integer.parseInt(islandCoords[0]) * boardHeight,
|
||||
// Integer.parseInt(islandCoords[1]) * boardHeight,
|
||||
// (boardHeightPx - 100) / boardHeight,
|
||||
// (boardHeightPx - 100) / boardHeight
|
||||
// );
|
||||
//// island.setX((VIEWER_WIDTH / 2) - (board.getWidth()/2) + 50);
|
||||
//// island.setY((VIEWER_HEIGHT / 2) - (board.getHeight()/2) + 50);
|
||||
// island.setTranslateX((VIEWER_WIDTH / 2) - board.getWidth() / 2 + 50);
|
||||
// island.setTranslateY((VIEWER_HEIGHT / 2) - board.getHeight() / 2 + 50);
|
||||
// island.setFill(Color.GREEN);
|
||||
// root.getChildren().add(island);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// switch(parts[i]){
|
||||
// if()
|
||||
// // case "a": {
|
||||
// String gameArrangementState = parts[i];
|
||||
// String[] gameArrangementStateParts = gameArrangementState.split(" ");
|
||||
// int boardHeight = Integer.parseInt(gameArrangementStateParts[1]);
|
||||
// int boardHeightPx = boardHeight * 45;
|
||||
//
|
||||
// Rectangle board = new Rectangle();
|
||||
// board.setWidth(boardHeightPx); // width (assume for right now the map is a square
|
||||
// board.setHeight(boardHeightPx); // height
|
||||
// board.setX((VIEWER_WIDTH / 2) - board.getWidth()/2); // starting x loc
|
||||
// board.setY((VIEWER_HEIGHT / 2) - board.getHeight()/2); // starting y loc
|
||||
// board.setFill(Color.DARKBLUE);
|
||||
// root.getChildren().add(board);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
/*
|
||||
// Part 1 done (Game Arrangement State)
|
||||
String[] parts = stateString.split(";");
|
||||
String gameArrangementState = parts[0];
|
||||
String[] gameArrangementStateParts = gameArrangementState.split(" ");
|
||||
int boardHeight = Integer.parseInt(gameArrangementStateParts[1]);
|
||||
int boardHeightPx = boardHeight * 45;
|
||||
|
||||
Rectangle board = new Rectangle();
|
||||
board.setWidth(boardHeightPx); // width (assume for right now the map is a square
|
||||
board.setHeight(boardHeightPx); // height
|
||||
board.setX((VIEWER_WIDTH / 2) - board.getWidth()/2); // starting x loc
|
||||
board.setY((VIEWER_HEIGHT / 2) - board.getHeight()/2); // starting y loc
|
||||
board.setFill(Color.DARKBLUE);
|
||||
root.getChildren().add(board);
|
||||
|
||||
// Part 2 (Current Arrangement State)
|
||||
String currentArrangementState = parts[1];
|
||||
String[] currentArrangementStateParts = currentArrangementState.split(" ");
|
||||
int playerId = Integer.parseInt(currentArrangementStateParts[2]);
|
||||
String currentArrangementPhaseParts = currentArrangementStateParts[3];
|
||||
String currentArrangementActualPhase = "";
|
||||
switch(currentArrangementPhaseParts) {
|
||||
case "E": {
|
||||
currentArrangementActualPhase = "Exploration";
|
||||
break;
|
||||
}
|
||||
case "S": {
|
||||
currentArrangementActualPhase = "Settler";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Text currentStateText = new Text();
|
||||
currentStateText.setText("The current player to move is player " +
|
||||
playerId + " in the " + currentArrangementActualPhase +
|
||||
" phase");
|
||||
currentStateText.setFont(Font.font("Sans Serif",
|
||||
FontWeight.BOLD, 20));
|
||||
currentStateText.setX(VIEWER_WIDTH/boardHeight*3.5);
|
||||
currentStateText.setY(50);
|
||||
currentStateText.setTextAlignment(TextAlignment.CENTER);
|
||||
root.getChildren().add(currentStateText);
|
||||
currentStateText.setFill(Color.GREEN);
|
||||
|
||||
// rootGroup.getChildren().addAll(currentStateText,board);
|
||||
|
||||
//Before doing part 3, make the board and the current state adjustable to each
|
||||
// by that I mean, when the board size adjusted, the current state is also
|
||||
// adjusted
|
||||
|
||||
// The input is below
|
||||
// a 13 2; c 0 E; i 6 0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3 1,4 2,0 2,1;
|
||||
|
||||
// statement = parts
|
||||
// Part 3 (Many Island Statements)
|
||||
for(int i = 2; i < parts.length; i++){
|
||||
String[] islandString = parts[i].split(" ");
|
||||
System.out.println("Parts[i] : " + parts[i]);
|
||||
for(int j = 3; j < islandString.length; j++){
|
||||
Label rectangleLabel = new Label();
|
||||
String[] islandCoords = islandString[j].split(",");
|
||||
System.out.println("IslandString: " + islandString[j]);
|
||||
Rectangle island = new Rectangle(
|
||||
Integer.parseInt(islandCoords[0]) * boardHeight,
|
||||
Integer.parseInt(islandCoords[1]) * boardHeight,
|
||||
(boardHeightPx - 100) / boardHeight,
|
||||
(boardHeightPx - 100) / boardHeight
|
||||
);
|
||||
// island.setX((VIEWER_WIDTH / 2) - (board.getWidth()/2) + 50);
|
||||
// island.setY((VIEWER_HEIGHT / 2) - (board.getHeight()/2) + 50);
|
||||
island.setTranslateX((VIEWER_WIDTH / 2) - board.getWidth()/2 + 50);
|
||||
island.setTranslateY((VIEWER_HEIGHT / 2) - board.getHeight()/2 + 50);
|
||||
island.setFill(Color.GREEN);
|
||||
root.getChildren().add(island);
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
|
||||
// TilePane pane = new TilePane();
|
||||
// pane.setTileAlignment(Pos.CENTER);
|
||||
//
|
||||
// for(int i = 1; i <= boardHeight; i++){
|
||||
// for(int j = 1; j <= boardHeight; j++){
|
||||
// pane.getChildren().add(new Button(i + "," + j));
|
||||
// }
|
||||
// }
|
||||
// root.getChildren().add(pane);
|
||||
// JFrame frame = new JFrame();
|
||||
// frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
// frame.setSize(500,500);
|
||||
// frame.setVisible(true);
|
||||
// frame.setLayout(new GridLayout(boardHeight, boardHeight));
|
||||
//
|
||||
// for(int i = 1; i <= boardHeight; i++){
|
||||
// for(int j = 1; j <= boardHeight; j++){
|
||||
// frame.add(new JButton(i + "," + j));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// frame.setVisible(true);
|
||||
//root.getChildren().add(frame);
|
||||
|
||||
|
||||
// TilePane tile = new TilePane();
|
||||
// tile.setHgap(8);
|
||||
// tile.setPrefColumns(13);
|
||||
// for (int i = 0; i < 20; i++){
|
||||
// root.getChildren().add(tile);
|
||||
// }
|
||||
|
||||
// TilePane tileVer = new TilePane(Orientation.VERTICAL);
|
||||
// tile.setTileAlignment(Pos.CENTER_LEFT);
|
||||
// tile.setPrefRows(10);
|
||||
// for (int i = 0; i < 50; i++) {
|
||||
// tileVer.getChildren().add(new ImageView(...));
|
||||
// }
|
||||
// Make hexagonal tiles inside the board
|
||||
// CoordsPx < coords * 45 as "*45" is the px constant for the board
|
||||
|
||||
/*
|
||||
[Many Island Statements]
|
||||
* islandStatement = "i ", bonus, {" ", coordinate}, ";"
|
||||
*
|
||||
* where bonus is a non-negative integer.
|
||||
*
|
||||
* e.g. "i 6 0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3 1,4 2,0 2,1;"
|
||||
*
|
||||
* ^ The first island (top left) of the standard map
|
||||
*
|
||||
* e.g. "i 6 0,5 0,6 0,7 1,6 1,7 1,8 2,6 2,7 2,8 3,7 3,8;"
|
||||
*
|
||||
* ^ The second island (top middle) of the standard map
|
||||
*
|
||||
* e.g. "i 6 7,12 8,11 9,11 9,12 10,10 10,11 11,10 11,11 11,12 12,10 12,11; i 8 0,9 0,10 0,11 1,10 1,11 1,12 2,10 2,11 3,10 3,11 3,12 4,10 4,11 5,11 5,12; i 8 4,0 5,0 5,1 6,0 6,1 7,0 7,1 7,2 8,0 8,1 8,2 9,0 9,1 9,2;"
|
||||
*
|
||||
* ^ A sequence of three island statements appearing in the standard game string
|
||||
*/
|
||||
// FIXME Task 5
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user