Skip to content
Snippets Groups Projects
Select Git revision
  • 54e8ecaa43bce4dbd92879d9470c45155abff287
  • main default protected
2 results

FloodGame.java

Blame
  • Forked from TRAVERS Corentin / flooding-template
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    FloodGame.java 1.19 KiB
    package model;
    
    import javafx.beans.property.SimpleIntegerProperty;
    
    import java.util.Arrays;
    import java.util.List;
    
    public class FloodGame {
    
        private  Player player;
        private final int totalFloodingArea;
        private final SimpleIntegerProperty turn  = new SimpleIntegerProperty(0);
    
        public FloodGame(int totalFloodingArea){
            this.totalFloodingArea = totalFloodingArea;
        }
    
        public void setPlayer(Player player){
            this.player = player;
        }
    
        public Player getPlayer(){
            return player;
        }
    
        public void setTurn(int value){
            turn.setValue(value);
        }
    
        public int  getTurn(){
            return turn.getValue();
        }
    
        public void  resetTurn() {
            setTurn(0);
        }
    
        public SimpleIntegerProperty getTurnProperty(){
            return turn;
        }
    
        public void incrementTurn(){
            setTurn(getTurn()+1);
        }
    
        public boolean isHumanTurn(){
            return getPlayer().isHuman();
        }
    
    
        public int getPlayerScore(Player player) {return Flooder.coloredArea(player.getStartCell());}
    
        public boolean hasWon(Player player){return this.getPlayerScore(player)==totalFloodingArea;}
    
        public boolean hasEnded(){return this.hasWon(player);}
    
    }