Skip to content
Snippets Groups Projects
Commit ffa012ef authored by EL GAOUAL Zaid's avatar EL GAOUAL Zaid
Browse files

Computer player hqs ended

parent ce4e7c9e
No related branches found
No related tags found
No related merge requests found
...@@ -55,45 +55,37 @@ public class GameController { ...@@ -55,45 +55,37 @@ public class GameController {
private void colorGrid(ColorGenerator colorGenerator){ private void colorGrid(ColorGenerator colorGenerator){
// TODO
matrixPane.getGrid().color(colorGenerator); matrixPane.getGrid().color(colorGenerator);
} }
@FXML @FXML
public void fillGridUniform() { public void fillGridUniform() {
// TODO uncomment:
colorGrid(new UniformColorGenerator(COLOR_ONE)); colorGrid(new UniformColorGenerator(COLOR_ONE));
} }
@FXML @FXML
public void fillGridRandom() { public void fillGridRandom() {
// TODO uncomment
colorGrid(new RandomColorGenerator(availableColors,random)); colorGrid(new RandomColorGenerator(availableColors,random));
} }
@FXML @FXML
public void fillGridDistinct() { public void fillGridDistinct() {
// TODO uncomment
fillGridUniform(); fillGridUniform();
colorGrid(new DistinctColorGenerator(COLOR_ONE,List.of(COLOR_THREE, COLOR_FOUR))); colorGrid(new DistinctColorGenerator(COLOR_ONE,List.of(COLOR_THREE, COLOR_FOUR)));
} }
@FXML @FXML
public void fillGridCycle() { public void fillGridCycle() {
// TODO uncomment
colorGrid(new CyclicColorGenerator(availableColors)); colorGrid(new CyclicColorGenerator(availableColors));
} }
@FXML @FXML
public void fillGridUniformExceptOne() { public void fillGridUniformExceptOne() {
// TODO uncomment
colorGrid(new UniformExceptOneGenerator(COLOR_ONE,COLOR_TWO)); colorGrid(new UniformExceptOneGenerator(COLOR_ONE,COLOR_TWO));
} }
private void playComputerTurn(){ private void playComputerTurn(){
// TODO
// uncomment
if (!game.hasEnded() && !game.isHumanTurn()){ if (!game.hasEnded() && !game.isHumanTurn()){
ComputerPlayer player = ((ComputerPlayer) game.getPlayer()); ComputerPlayer player = ((ComputerPlayer) game.getPlayer());
Flooder.flood(player.getStartCell(), player.play()); Flooder.flood(player.getStartCell(), player.play());
...@@ -103,8 +95,6 @@ public class GameController { ...@@ -103,8 +95,6 @@ public class GameController {
} }
public void playHumanTurn(Color color){ public void playHumanTurn(Color color){
// TODO
// uncomment
if(!game.hasEnded() && game.isHumanTurn()){ if(!game.hasEnded() && game.isHumanTurn()){
Flooder.flood(game.getPlayer().getStartCell(), color); Flooder.flood(game.getPlayer().getStartCell(), color);
setScoreLabelTextProperty(); setScoreLabelTextProperty();
...@@ -121,8 +111,6 @@ public class GameController { ...@@ -121,8 +111,6 @@ public class GameController {
} }
private void setScoreLabelTextProperty() { private void setScoreLabelTextProperty() {
// TODO
// uncomment
Player player = game.getPlayer(); Player player = game.getPlayer();
scoreLabel.textProperty().setValue(Integer.toString(game.getPlayerScore(player))); scoreLabel.textProperty().setValue(Integer.toString(game.getPlayerScore(player)));
} }
...@@ -144,7 +132,6 @@ public class GameController { ...@@ -144,7 +132,6 @@ public class GameController {
@FXML @FXML
public void setPlayerHuman(){ public void setPlayerHuman(){
// TODO
game.setPlayer(new HumanPlayer("human", getGridStartCell())); game.setPlayer(new HumanPlayer("human", getGridStartCell()));
} }
......
...@@ -15,7 +15,7 @@ public class CellGridIterator implements Iterator<Cell> { ...@@ -15,7 +15,7 @@ public class CellGridIterator implements Iterator<Cell> {
@Override @Override
public boolean hasNext() { 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 false;
} }
return true; return true;
......
...@@ -8,12 +8,17 @@ import java.util.List; ...@@ -8,12 +8,17 @@ import java.util.List;
public class ComputerPlayer implements Player{ public class ComputerPlayer implements Player{
private String name; private String name;
private Cell startCell; private Cell startCell;
private Color color;
ComputerPlayer(String name, Cell startCell){ ComputerPlayer(String name, Cell startCell){
this.name=name; this.name=name;
this.startCell=startCell; this.startCell=startCell;
} }
ComputerPlayer(String name, Cell startCell,PlayStrategy strategy){
this.name=name;
this.startCell=startCell;
strategy.play(startCell);
}
public void setColor(Color color){ public void setColor(Color color){
......
...@@ -56,13 +56,13 @@ public class FloodGame { ...@@ -56,13 +56,13 @@ public class FloodGame {
} }
public boolean hasWon(Player player) { public boolean hasWon(Player player) {
if (getPlayerScore(player) == totalFloodingArea) { if (Flooder.coloredArea(player.getStartCell()) == totalFloodingArea-1) {
return true; return true;
} }
return false; return false;
} }
public boolean hasEnded(){ public boolean hasEnded(){
return (hasWon(player)||getPlayerScore(player)==0); return (hasWon(player)||getPlayerScore(player)==1);
} }
} }
...@@ -8,7 +8,6 @@ public class Flooder { ...@@ -8,7 +8,6 @@ public class Flooder {
public static void flood(Cell startCell, Color floodingColor){ public static void flood(Cell startCell, Color floodingColor){
Iterator<Cell> i = startCell.iterator(); Iterator<Cell> i = startCell.iterator();
startCell.setColor(floodingColor);
while (i.hasNext()){ while (i.hasNext()){
i.next().setColor(floodingColor); i.next().setColor(floodingColor);
} }
......
...@@ -78,8 +78,8 @@ class ArrayGridTest { ...@@ -78,8 +78,8 @@ class ArrayGridTest {
void testIterator() { void testIterator() {
Iterator<Cell> iterator = arrayGridTwoTwo.iterator(); Iterator<Cell> iterator = arrayGridTwoTwo.iterator();
assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.hasNext()).isTrue();
//assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(0,0)); assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(0,0));
//assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.hasNext()).isTrue();
assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(0,1)); assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(0,1));
assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.hasNext()).isTrue();
assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(1,0)); assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(1,0));
......
...@@ -27,9 +27,9 @@ class SquareCellTest { ...@@ -27,9 +27,9 @@ class SquareCellTest {
southCell.setNeighbours(List.of(centralCell)); southCell.setNeighbours(List.of(centralCell));
northCell.setNeighbours(List.of(centralCell)); northCell.setNeighbours(List.of(centralCell));
} }
// @Test @Test
// void testIterator() { void testIterator() {
// } }
@Test @Test
void testGetNeighbours() { void testGetNeighbours() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment