diff --git a/app/src/main/java/controller/GameController.java b/app/src/main/java/controller/GameController.java index 744e81c598a8e12a2418ab20e75d4f7cae4da39f..6f9b1656942e7bbce990486299fc9cdf07b39c86 100644 --- a/app/src/main/java/controller/GameController.java +++ b/app/src/main/java/controller/GameController.java @@ -55,45 +55,37 @@ public class GameController { private void colorGrid(ColorGenerator colorGenerator){ - // TODO matrixPane.getGrid().color(colorGenerator); } @FXML public void fillGridUniform() { - // TODO uncomment: colorGrid(new UniformColorGenerator(COLOR_ONE)); } @FXML public void fillGridRandom() { - // TODO uncomment colorGrid(new RandomColorGenerator(availableColors,random)); } @FXML public void fillGridDistinct() { - // TODO uncomment fillGridUniform(); colorGrid(new DistinctColorGenerator(COLOR_ONE,List.of(COLOR_THREE, COLOR_FOUR))); } @FXML public void fillGridCycle() { - // TODO uncomment colorGrid(new CyclicColorGenerator(availableColors)); } @FXML public void fillGridUniformExceptOne() { - // TODO uncomment colorGrid(new UniformExceptOneGenerator(COLOR_ONE,COLOR_TWO)); } private void playComputerTurn(){ - // TODO - // uncomment if (!game.hasEnded() && !game.isHumanTurn()){ ComputerPlayer player = ((ComputerPlayer) game.getPlayer()); Flooder.flood(player.getStartCell(), player.play()); @@ -103,8 +95,6 @@ public class GameController { } public void playHumanTurn(Color color){ - // TODO - // uncomment if(!game.hasEnded() && game.isHumanTurn()){ Flooder.flood(game.getPlayer().getStartCell(), color); setScoreLabelTextProperty(); @@ -121,8 +111,6 @@ public class GameController { } private void setScoreLabelTextProperty() { - // TODO - // uncomment Player player = game.getPlayer(); scoreLabel.textProperty().setValue(Integer.toString(game.getPlayerScore(player))); } @@ -144,7 +132,6 @@ public class GameController { @FXML public void setPlayerHuman(){ - // TODO game.setPlayer(new HumanPlayer("human", getGridStartCell())); } diff --git a/app/src/main/java/model/CellGridIterator.java b/app/src/main/java/model/CellGridIterator.java index 44c45dfbacb369df3a7bf809a72d8ad71b24ea3d..a68056add9934fd6c12b434b22757cb9623cffa4 100644 --- a/app/src/main/java/model/CellGridIterator.java +++ b/app/src/main/java/model/CellGridIterator.java @@ -15,7 +15,7 @@ public class CellGridIterator implements Iterator<Cell> { @Override public boolean hasNext() { - if(this.row==grid.getNumberOfRows()-1 && this.column==grid.getNumberOfColumns()-1) { + if((this.row==grid.getNumberOfRows()-1 && this.column==grid.getNumberOfColumns()-1)) { return false; } return true; diff --git a/app/src/main/java/model/ComputerPlayer.java b/app/src/main/java/model/ComputerPlayer.java index 03b4bfa1261242b2af8e2e7c82485237023911f5..71ba3804c464f0c8ad3ea74fe80aca497c8b9573 100644 --- a/app/src/main/java/model/ComputerPlayer.java +++ b/app/src/main/java/model/ComputerPlayer.java @@ -8,12 +8,17 @@ import java.util.List; public class ComputerPlayer implements Player{ private String name; private Cell startCell; - private Color color; ComputerPlayer(String name, Cell startCell){ this.name=name; this.startCell=startCell; } + ComputerPlayer(String name, Cell startCell,PlayStrategy strategy){ + this.name=name; + this.startCell=startCell; + strategy.play(startCell); + + } public void setColor(Color color){ diff --git a/app/src/main/java/model/FloodGame.java b/app/src/main/java/model/FloodGame.java index fe154d304cfd527e1629fd7b983d31b7f9b445a7..c9eb4bb25a1f66563bf7d6db19fe71e468652c75 100644 --- a/app/src/main/java/model/FloodGame.java +++ b/app/src/main/java/model/FloodGame.java @@ -56,13 +56,13 @@ public class FloodGame { } public boolean hasWon(Player player) { - if (getPlayerScore(player) == totalFloodingArea) { + if (Flooder.coloredArea(player.getStartCell()) == totalFloodingArea-1) { return true; } return false; } public boolean hasEnded(){ - return (hasWon(player)||getPlayerScore(player)==0); + return (hasWon(player)||getPlayerScore(player)==1); } } diff --git a/app/src/main/java/model/Flooder.java b/app/src/main/java/model/Flooder.java index b98fc3814792805e53d4973106f347eadce52292..831e391915735d6a34554b2b81933605fe23a569 100644 --- a/app/src/main/java/model/Flooder.java +++ b/app/src/main/java/model/Flooder.java @@ -8,7 +8,6 @@ public class Flooder { public static void flood(Cell startCell, Color floodingColor){ Iterator<Cell> i = startCell.iterator(); - startCell.setColor(floodingColor); while (i.hasNext()){ i.next().setColor(floodingColor); } diff --git a/app/src/test/java/model/ArrayGridTest.java b/app/src/test/java/model/ArrayGridTest.java index 0a2cb0ae9b817087f3ce0b36abe6fe2f1503c440..91d1b9f982349973bec57b8c30e27f1fdc421a7b 100644 --- a/app/src/test/java/model/ArrayGridTest.java +++ b/app/src/test/java/model/ArrayGridTest.java @@ -78,8 +78,8 @@ class ArrayGridTest { void testIterator() { Iterator<Cell> iterator = arrayGridTwoTwo.iterator(); assertThat(iterator.hasNext()).isTrue(); - //assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(0,0)); - //assertThat(iterator.hasNext()).isTrue(); + assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(0,0)); + assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(0,1)); assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(1,0)); diff --git a/app/src/test/java/model/SquareCellTest.java b/app/src/test/java/model/SquareCellTest.java index 6fb5613dc701558152ecd0a02e748025c740ccc1..3b6c21192c1601afab1e0cb219902056113d753d 100644 --- a/app/src/test/java/model/SquareCellTest.java +++ b/app/src/test/java/model/SquareCellTest.java @@ -27,9 +27,9 @@ class SquareCellTest { southCell.setNeighbours(List.of(centralCell)); northCell.setNeighbours(List.of(centralCell)); } -// @Test -// void testIterator() { -// } + @Test + void testIterator() { + } @Test void testGetNeighbours() {