Skip to content
Snippets Groups Projects
Select Git revision
  • c17e781e321565dc97f7304d55684af99957fd0f
  • main default protected
  • correction_video
  • going_further
  • ImprovedMouseInteraction
  • final2023
  • template
  • ModifGUI
8 results

NextGenerationInitializer.class.uniqueId1

Blame
  • Forked from YAGOUBI Rim / Game of life Template
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    FloodGame.java 1.62 KiB
    package model;
    import javafx.beans.property.SimpleIntegerProperty;
    import java.util.Arrays;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    
    public class FloodGame {
    
        private  Player player;
        private final int totalFloodingArea;
        private final SimpleIntegerProperty turn  = new SimpleIntegerProperty(0);
    
        //Constructeur de la calsse
        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) {
            // TODO
            Set<Cell> pendingCells = new HashSet();
            int Cellcount = 0 ;
            pendingCells.add(Player.getStartCell())  ;
    
    
            while (Player.getStartCell().iterator().hasNext()) {
                pendingCells.add(pendingCells.iterator().next()) ;
                Cellcount++;
            }
    
            return Cellcount ;
        }
    
    
        public boolean hasWon(Player player){
            // TODO
            return this.getPlayerScore(player) == this.totalFloodingArea;
        }
    
    
        public boolean hasEnded(){
            // TODO
            return hasWon(player);
        }
    
    }