예제 #1
0
파일: Game.cs 프로젝트: cross311/Chale
        public Tournament GameWon(Tournament tournament, Game wonGame, Dude dudeWhoWon)
        {
            wonGame.MarkWinner(dudeWhoWon);
            var openGame = tournament.Games().FirstOrDefault(game => game.IsOpen());

            if (openGame != null)
            {
                openGame.AddDude(dudeWhoWon);
            }
            else if (tournament.Games().Any(game => game.IsInProgress()))
            {
                tournament.AddGame(new Game(new Dude[] { dudeWhoWon }));
            }
            else if (tournament.Games().All(game => game.IsCompleted()))
            {
                tournament.MarkWinner(dudeWhoWon);
            }

            return(tournament);
        }
예제 #2
0
파일: Game.cs 프로젝트: cross311/Chale
 public void AddDude(Dude dude)
 {
     _dudes.Add(dude);
 }
예제 #3
0
파일: Game.cs 프로젝트: cross311/Chale
 public void MarkWinner(Dude winner)
 {
     _winner = winner;
 }
예제 #4
0
파일: Game.cs 프로젝트: cross311/Chale
 internal void MarkWinner(Dude dude)
 {
     _winner = dude;
 }