コード例 #1
0
ファイル: Game.cs プロジェクト: kalantyr/TicTacToe
        /// <inheritdoc/>
        public void CheckWinner(IWinDetector winDetector)
        {
            // если уже есть победитель
            Winner = winDetector.GetWinner(this);
            if (Winner != null)
            {
                IsGameOver = true;
                End?.Invoke(Winner);
            }

            // Если всё поле закончилось
            if (_gameMoves.Count == Size * Size)
            {
                IsGameOver = true;
                End?.Invoke(null);
            }
        }
コード例 #2
0
ファイル: ComputerPlayer.cs プロジェクト: kalantyr/TicTacToe
 public ComputerPlayer(IWinDetector winDetector, IScenarioCalculator scenarioCalculator)
 {
     _winDetector        = winDetector ?? throw new ArgumentNullException(nameof(winDetector));
     _scenarioCalculator = scenarioCalculator ?? throw new ArgumentNullException(nameof(scenarioCalculator));
 }
コード例 #3
0
 public ScenarioCalculator(IWinDetector winDetector)
 {
     _winDetector = winDetector ?? throw new ArgumentNullException(nameof(winDetector));
 }