Skip to content
Snippets Groups Projects
Commit 96934805 authored by RAKOTOARISOA Andrianinarisaina cy's avatar RAKOTOARISOA Andrianinarisaina cy
Browse files

Tâche 8(11.1) : Création de la classe FloodGame, de ses attributs (Player...

Tâche 8(11.1) : Création de la classe FloodGame, de ses attributs (Player player),(int totalFloodingArea) et (turn), compléter toutes ses méthodes, en l'occurence "getScore(Player player)", "boolean hasWon(Player player)" et "boolean hasEnded()".
parent a7253b93
No related branches found
No related tags found
No related merge requests found
package model; package model;
import javafx.beans.property.SimpleIntegerProperty; import javafx.beans.property.SimpleIntegerProperty;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
public class FloodGame { public class FloodGame {
...@@ -11,38 +11,47 @@ public class FloodGame { ...@@ -11,38 +11,47 @@ public class FloodGame {
private final int totalFloodingArea; private final int totalFloodingArea;
private final SimpleIntegerProperty turn = new SimpleIntegerProperty(0); private final SimpleIntegerProperty turn = new SimpleIntegerProperty(0);
//Constructeur de la calsse
public FloodGame(int totalFloodingArea){ public FloodGame(int totalFloodingArea){
this.totalFloodingArea = totalFloodingArea; this.totalFloodingArea = totalFloodingArea;
} }
public void setPlayer(Player player){ public void setPlayer(Player player){
this.player = player; this.player = player;
} }
public Player getPlayer(){ public Player getPlayer(){
return player; return player;
} }
public void setTurn(int value){ public void setTurn(int value){
turn.setValue(value); turn.setValue(value);
} }
public int getTurn(){ public int getTurn(){
return turn.getValue(); return turn.getValue();
} }
public void resetTurn() { public void resetTurn() {
setTurn(0); setTurn(0);
} }
public SimpleIntegerProperty getTurnProperty(){ public SimpleIntegerProperty getTurnProperty(){
return turn; return turn;
} }
public void incrementTurn(){ public void incrementTurn(){
setTurn(getTurn()+1); setTurn(getTurn()+1);
} }
public boolean isHumanTurn(){ public boolean isHumanTurn(){
return getPlayer().isHuman(); return getPlayer().isHuman();
} }
...@@ -50,17 +59,30 @@ public class FloodGame { ...@@ -50,17 +59,30 @@ public class FloodGame {
public int getPlayerScore(Player player) { public int getPlayerScore(Player player) {
// TODO // TODO
return 0; Set<Cell> pendingCells = new HashSet();
int Cellcount = 0 ;
pendingCells.add(this.player.getStartCell()) ;
while (player.getStartCell().iterator().hasNext()) {
pendingCells.add(pendingCells.iterator().next()) ;
Cellcount++;
}
return Cellcount ;
} }
public boolean hasWon(Player player){ public boolean hasWon(Player player){
// TODO // TODO
return false; return this.getPlayerScore(player) == this.totalFloodingArea;
} }
public boolean hasEnded(){ public boolean hasEnded(){
// TODO // TODO
return false; return hasWon(player);
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment