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)); }
public void CheckWinCase() { var winCase = new WinCase(new Position(0, 0), new Position(0, 1), new Position(0, 2)); }