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); } }