private string LoadGame() { Console.Clear(); var list = GameUI.DisplaySavedGames(Engine.GetAllSavedGameStates().Result); Console.WriteLine("Enter the id of the saved game or press M to go back"); Console.Write(">"); var consoleLine = Console.ReadLine(); if (consoleLine == null) { return("M"); } foreach (var save in list) { if (save.GameStateId.ToString().Equals(consoleLine)) { GameState = Engine.GetSavedState(save.GameStateId); StartGame(); } else if (consoleLine.Equals("M")) { return("M"); } } return("STARTED"); }
private string StartGame() { var firstMove = true; var done = false; do { GameUI.PrintBoard(GameState); int userXint; bool userCanceled; (userXint, userCanceled) = GetUserIntInput("Enter X coordinate", 1, 7, 0); if (userCanceled) { done = true; } else { try { GameState = Engine.UpdateGameState(GameState.StateId, userXint - 1).Result; } catch (GameException e) { Console.WriteLine("This column is full!"); } } if (GameState.Winner != GameState.Win.NO_WINNER) { done = true; } } while (!done); Console.Clear(); var winner = Engine.GetWinnerName(GameState.Winner).Result; if (GameState.Winner == GameState.Win.DRAW) { Console.WriteLine("There has been a draw!"); } else { Console.WriteLine(winner + " has won!"); } Console.WriteLine("Press enter to continue"); var consoleLine = Console.ReadLine(); if (consoleLine != "") { ; } Console.Clear(); return("GAME OVER!!"); }
private string AiSecondGame() { GameState = Engine.CreateGameStateWithGameMode(GameMode.HUMAN_FIRST).Result; StartGame(); return("Started"); }
private string PVPGame() { GameState = Engine.CreateGameStateWithGameMode(GameMode.HUMAN_VS_HUMAN).Result; StartGame(); return("Started"); }
private string AiFirstGame() { GameState = Engine.CreateGameStateWithGameMode(GameMode.AI_FIRST).Result; StartGame(); return("Started"); }