Example #1
0
        public static void Phase(int currentPhase)
        {
            if (currentPhase == 1)
            {
                List <Player> players = PlayerController.GetAllPlayers().Where(x => x.NotFolded).ToList();

                foreach (var player in players)
                {
                    player.AddCards(CardController.DrawRandomCard(), CardController.DrawRandomCard());
                }

                BoardController.DrawCards(0);
                PrintGameView.PrintGame();

                PlayersDoActionUntillAllBetsAreEqual(players);
            }
            else if (currentPhase == 2)
            {
                List <Player> players = PlayerController.GetAllPlayers().Where(x => x.NotFolded).ToList();

                BoardController.DrawCards(3);
                PrintGameView.PrintGame();

                PlayersDoActionUntillAllBetsAreEqual(players);
            }
            else if (currentPhase == 3)
            {
                List <Player> players = PlayerController.GetAllPlayers().Where(x => x.NotFolded).ToList();

                BoardController.DrawCards(1);
                PrintGameView.PrintGame();

                PlayersDoActionUntillAllBetsAreEqual(players);
            }
            else if (currentPhase == 4)
            {
                List <Player> players = PlayerController.GetAllPlayers().Where(x => x.NotFolded).ToList();

                BoardController.DrawCards(1);
                PrintGameView.PrintGame();

                PlayersDoActionUntillAllBetsAreEqual(players);
            }
            else if (currentPhase == 5)
            {
                List <Player> players = PlayerController.GetAllPlayers().Where(x => x.NotFolded).ToList();

                PrintGameView.PrintGame();
                Player winner = DecideWinner(players);
                winner.Balance += PlayerController.GetAllBets().Aggregate((x, y) => x + y);
                ContextsData.RoundsPoolContext.AddRoudPool((int)PlayerController.GetAllBets().Aggregate((x, y) => x + y), winner.Name);
                MainMenuView.ShowWinner(winner);
                ContextsData.WinnerLogContext.AddWinner(winner);
            }
        }