예제 #1
0
        public HexBoardViewModel(SelectGameViewModel gameData)
        {
            this.CanPlay = true;
            this.BoardSize = gameData.SelectedBoardSize;

            this.hexGame = new HexGame(this.BoardSize);
            this.Populate();

            this.gameSummary = new GameSummary(this.hexGame, gameData.GameType);

            this.computerSkillLevel = SkillLevelToDepth(gameData.SkillLevel);
            this.doComputerMoveCommand = new DoComputerMoveCommand(this.computerSkillLevel);
            this.CheckComputerMove();
        }
예제 #2
0
        public HexBoardViewModel(HexBoardViewModel original)
        {
            this.CanPlay = true;
            this.BoardSize = original.BoardSize;

            this.hexGame = new HexGame(this.BoardSize);
            this.hexGame.Board.CopyStateFrom(original.hexGame.Board);

            this.Populate();
            this.CopyCellStates(original.Cells);

            this.gameSummary = new GameSummary(this.hexGame, original.gameSummary.GameType);
            this.computerSkillLevel = original.computerSkillLevel;
            this.doComputerMoveCommand = new DoComputerMoveCommand(this.computerSkillLevel);
        }
예제 #3
0
 public ComputerMoveCalculator(HexGame hexGame, Action<ComputerMoveData> completedAction, int computerSkillLevel)
 {
     this.hexGame = hexGame;
     this.completedAction = completedAction;
     this.computerSkillLevel = computerSkillLevel;
 }
예제 #4
0
        public void ClearBoard()
        {
            this.hexGame = new HexGame(this.BoardSize);
            foreach (HexCellViewModel cell in this.Cells)
            {
                cell.Occupied = Occupied.Empty;
            }

            this.OnPropertyChanged("SummaryText");
        }
예제 #5
0
 public GameSummary(HexGame game, GameType gameType)
 {
     this.game = game;
     this.GameType = gameType;
 }