public MenuReturnType SelectedMenu() { MenuReturnType SelectedMenu = MenuReturnType.None; bool needToContinue = true; do { while (Console.KeyAvailable) { ConsoleKeyInfo pressedChar = Console.ReadKey(true); switch (pressedChar.Key) { case ConsoleKey.Q: Console.Clear(); Environment.Exit(0); break; case ConsoleKey.M: SelectedMenu = MenuReturnType.GoToMenu; needToContinue = false; break; case ConsoleKey.R: SelectedMenu = MenuReturnType.ReplayGame; needToContinue = false; break; } } } while (needToContinue); return(SelectedMenu); }
public MenuReturnType RunGame() { Render(); bool needToContinue = true; int CurrentPlayerIndex = 0; do { while (Console.KeyAvailable) { ConsoleKeyInfo pressedChar = Console.ReadKey(true); if (pressedChar.Key == ConsoleKey.Escape) { needToContinue = false; } } Recalculate(CurrentPlayerIndex); CurrentPlayerIndex++; //System.Threading.Thread.Sleep(250); } while (needToContinue && CurrentPlayerIndex < Players.Count); StatusLabel.Label = "Game finished. Press any key to continue..."; StatusLabel.Render(); Console.ReadKey(); Console.Clear(); int MaxScoresValue = Players.Max(p => p.Scores); var Winners = from p in Players where p.Scores == MaxScoresValue select new { Name = p.GetPlayerName(), Score = p.Scores }; foreach (var item in Winners) { Winner = Winner + " " + item.Name + " with " + item.Score + " scores;"; } GameOverMenu gameOverMenu = new GameOverMenu(App.ScreenX, App.ScreenY, App.ScreenWidth - 1, App.ScreenY - 1, Winner); //gameOverMenu.Render(); MenuReturnType menu = gameOverMenu.SelectedMenu(); //Console.ReadKey(); return(menu); }
public void StartGame() { MenuReturnType rtype = MenuReturnType.None; do { // TO DO : Players Select Count Console.Clear(); playerSelectionController = new PlayerSelectionController(); gameStatus.PlayersCount = playerSelectionController.GetPlayersCount(); // TO DO : DiecesSelect diceSelectionController = new DiceSelectionController(); gameStatus.DicesCount = diceSelectionController.GetDiceCount(); //Console.WriteLine($"Pasirinkta {gameStatus.DicesCount}"); // TO DO : Run action.. GameRunner gameRunner = new GameRunner(gameStatus.PlayersCount, gameStatus.DicesCount); rtype = gameRunner.RunGame(); } while (rtype == MenuReturnType.ReplayGame); }