Exemple #1
0
        private Winner CheckCase(WinCase winCase)
        {
            var allSame = winCase.Players.TrueForAll(x => x != null && x.Name == winCase.Players[0]?.Name);

            if (allSame)
            {
                return(new Winner(true, winCase.Players[0]));
            }
            return(Winner.NoWinner);
        }
        private Winner Provide(Point point)
        {
            var winCases = new List <WinCase>();

            var winCandidates = _winCandidateProvider.Provide(point);

            foreach (var winCandidate in winCandidates)
            {
                var players = _board.GetPlayers(winCandidate.WinCandidatePositions);
                var winCase = new WinCase(players);
                winCases.Add(winCase);
            }

            return(_winCasesAnalyzer.GetWinner(winCases));
        }
Exemple #3
0
 public void CheckWinCase()
 {
     var winCase = new WinCase(new Position(0, 0), new Position(0, 1), new Position(0, 2));
 }