diff --git a/Sources/App/Program.cs b/Sources/App/Program.cs index c609a4d..95cc927 100644 --- a/Sources/App/Program.cs +++ b/Sources/App/Program.cs @@ -48,7 +48,7 @@ namespace App case "l": string loadName = ChooseGame(gameRunner); - if (gameRunner.GetOneGameByName(loadName) != null) + if (gameRunner.GetOneByName(loadName) != null) { Play(gameRunner, loadName); } @@ -75,7 +75,7 @@ namespace App case "d": string deleteName = ChooseGame(gameRunner); - gameRunner.DeleteGame(gameRunner.GetOneGameByName(deleteName)); + gameRunner.Remove(gameRunner.GetOneByName(deleteName)); break; case "c": @@ -130,7 +130,7 @@ namespace App string menuChoicePlay = ""; while (menuChoicePlay != "q") { - Game game = gameRunner.GetOneGameByName(name); + Game game = gameRunner.GetOneByName(name); Console.WriteLine($"{game.GetWhoPlaysNow()}'s turn\n" + "q... quit\n" + "h... show history\n" + @@ -158,7 +158,7 @@ namespace App { string name; Console.WriteLine("which of these games?\n(choose by name)\n>"); - foreach (Game game in gameRunner.GetAllGames()) + foreach (Game game in gameRunner.GetAll()) { Console.WriteLine(game); } diff --git a/Sources/Model/Games/GameRunner.cs b/Sources/Model/Games/GameRunner.cs index 8d771f1..1289157 100644 --- a/Sources/Model/Games/GameRunner.cs +++ b/Sources/Model/Games/GameRunner.cs @@ -9,7 +9,7 @@ using Model.Players; namespace Model.Games { - public class GameRunner + public class GameRunner : IManager { private readonly IManager globalPlayerManager; private readonly IManager>>> globalDieManager; @@ -22,7 +22,7 @@ namespace Model.Games this.games = games ?? new(); } - public IEnumerable GetAllGames() => games.AsEnumerable(); + public IEnumerable GetAll() => games.AsEnumerable(); /// /// finds the game with that name and returns it @@ -31,7 +31,7 @@ namespace Model.Games /// /// a games's name /// game with said name, or null if no such game was found - public Game GetOneGameByName(string name) + public Game GetOneByName(string name) { if (!string.IsNullOrWhiteSpace(name)) { @@ -46,15 +46,16 @@ namespace Model.Games /// /// a game to save /// - public void SaveGame(Game game) + public Game Add(Game game) { if (game != null) { games.Remove(games.FirstOrDefault(g => g.Name == game.Name)); // will often be an update: if game with that name exists, it is removed, else, nothing happens above games.Add(game); + return game; } - + return null; } /// @@ -64,14 +65,19 @@ namespace Model.Games public void StartNewGame(string name, PlayerManager playerManager, IEnumerable> dice) { Game game = new(name, playerManager, dice); - SaveGame(game); + Add(game); } - public void DeleteGame(Game game) + public void Remove(Game game) { games.Remove(game); } + public Game Update(Game oldGame, Game newGame) + { + return Add(newGame); + } + /// /// plays one turn of the game ///