From ffa012ef6f87422cca0e1162d38e06d584789c04 Mon Sep 17 00:00:00 2001 From: EL GAOUAL Zaid <zaid.el-gaoual@etu.univ-amu.fr> Date: Fri, 18 Nov 2022 17:55:56 +0100 Subject: [PATCH] Computer player hqs ended --- app/src/main/java/controller/GameController.java | 13 ------------- app/src/main/java/model/CellGridIterator.java | 2 +- app/src/main/java/model/ComputerPlayer.java | 7 ++++++- app/src/main/java/model/FloodGame.java | 4 ++-- app/src/main/java/model/Flooder.java | 1 - app/src/test/java/model/ArrayGridTest.java | 4 ++-- app/src/test/java/model/SquareCellTest.java | 6 +++--- 7 files changed, 14 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/controller/GameController.java b/app/src/main/java/controller/GameController.java index 744e81c..6f9b165 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 44c45df..a68056a 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 03b4bfa..71ba380 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 fe154d3..c9eb4bb 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 b98fc38..831e391 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 0a2cb0a..91d1b9f 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 6fb5613..3b6c211 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() { -- GitLab