public Engine(IWriter writer, IReader reader, DungeonMaster dungeonMaster, ICommandInterpreter commandInterpreter) { this.writer = writer; this.reader = reader; this.dungeonMaster = dungeonMaster; this.commandInterpreter = commandInterpreter; }
public void Run() { dm = new DungeonMaster(); output = new StringBuilder(); ExecuteCommands(); GetFinalStats(); PrintOutPut(); }
public void MoveCommand(string inputLine, DungeonMaster dm) { string[] input = inputLine.Split(); string command = input[0]; string[] args = new string[input.Length - 1]; for (int i = 0; i < args.Length; i++) { args[i] = input[i + 1]; } switch (command) { case "JoinParty": Console.WriteLine(dm.JoinParty(args)); break; case "AddItemToPool": Console.WriteLine(dm.AddItemToPool(args)); break; case "PickUpItem": Console.WriteLine(dm.PickUpItem(args)); break; case "UseItem": Console.WriteLine(dm.UseItem(args)); break; case "UseItemOn": Console.WriteLine(dm.UseItemOn(args)); break; case "GiveCharacterItem": Console.WriteLine(dm.GiveCharacterItem(args)); break; case "GetStats": Console.WriteLine(dm.GetStats()); break; case "Attack": Console.WriteLine(dm.Attack(args)); break; case "Heal": Console.WriteLine(dm.Heal(args)); break; case "EndTurn": Console.WriteLine(dm.EndTurn(args)); this.gameOver = dm.IsGameOver(); break; default: break; } }
public Engine(IReader reader, IWriter writer) { this.reader = reader; this.writer = writer; this.dungeonMaster = new DungeonMaster(); }
public Engine() { this.dungeonMaster = new DungeonMaster(); }
public Engine() { this.isRun = true; this.dungeonMaster = new DungeonMaster(); }
public Engine(DungeonMaster dungeonMaster) { this.dungeonMaster = dungeonMaster; }
public void Run() { DungeonMaster dungeonMaster = new DungeonMaster(); string command; while (this.IsRunning && !dungeonMaster.IsGameOver()) { try { command = Console.ReadLine(); if (string.IsNullOrEmpty(command)) { this.IsRunning = false; continue; } string commandArg = command.Split()[0]; string[] remainingArgs = command.Split().Skip(1).ToArray(); string result; switch (commandArg) { case "JoinParty": result = dungeonMaster.JoinParty(remainingArgs); break; case "AddItemToPool": result = dungeonMaster.AddItemToPool(remainingArgs); break; case "PickUpItem": result = dungeonMaster.PickUpItem(remainingArgs); break; case "UseItem": result = dungeonMaster.UseItem(remainingArgs); break; case "UseItemOn": result = dungeonMaster.UseItemOn(remainingArgs); break; case "GiveCharacterItem": result = dungeonMaster.GiveCharacterItem(remainingArgs); break; case "GetStats": result = dungeonMaster.GetStats(); break; case "Attack": result = dungeonMaster.Attack(remainingArgs); break; case "Heal": result = dungeonMaster.Heal(remainingArgs); break; case "EndTurn": result = dungeonMaster.EndTurn(remainingArgs); break; case "IsGameOver": result = dungeonMaster.IsGameOver().ToString(); break; default: result = ""; break; } Console.WriteLine(result); } catch (ArgumentException ex) { Console.WriteLine($"Parameter Error: {ex.Message}"); } catch (InvalidOperationException ex) { Console.WriteLine($"Invalid Operation: {ex.Message}"); } } Console.WriteLine("Final stats:"); Console.WriteLine(dungeonMaster.GetStats()); }
public CommandInterpreter(DungeonMaster dungeonMaster) { this.dungeonMaster = dungeonMaster; }
public Engine(DungeonMaster dungeonMaster) { this.isRunning = true; this.dungeonMaster = dungeonMaster; }
public Engine() { this.master = new DungeonMaster(); this.isGameOver = false; }
public Engine() { this.dungeonMaster = new DungeonMaster(); this.inputReader = new ConsoleReader(); this.outputWriter = new ConsoleWriter(); }
public void Run() { DungeonMaster dm = new DungeonMaster(); string input; while (!string.IsNullOrEmpty((input = Console.ReadLine()))) { StringBuilder result = new StringBuilder(); string[] args = input.Split(); string command = args[0]; args = args.Skip(1).ToArray(); bool gameOver = false; try { switch (command) { case "JoinParty": Console.WriteLine(dm.JoinParty(args)); break; case "AddItemToPool": Console.WriteLine(dm.AddItemToPool(args)); break; case "PickUpItem": Console.WriteLine(dm.PickUpItem(args)); break; case "UseItem": Console.WriteLine(dm.UseItem(args)); break; case "UseItemOn": Console.WriteLine(dm.UseItemOn(args)); break; case "GiveCharacterItem": Console.WriteLine(dm.GiveCharacterItem(args)); break; case "GetStats": Console.WriteLine(dm.GetStats()); break; case "Attack": Console.WriteLine(dm.Attack(args)); break; case "Heal": Console.WriteLine(dm.Heal(args)); break; case "EndTurn": Console.WriteLine(dm.EndTurn(args)); if (dm.IsGameOver()) { gameOver = true; } break; case "IsGameOver": Console.WriteLine(dm.IsGameOver()); break; } } catch (ArgumentException ae) { Console.WriteLine($"Parameter Error: {ae.Message}"); } catch (InvalidOperationException ioe) { Console.WriteLine($"Invalid Operation: {ioe.Message}"); } if (gameOver) { break; } } Console.WriteLine(dm.GameOver()); }
public void Run() { string[] args = Console.ReadLine() .Split(" ", StringSplitOptions.RemoveEmptyEntries) .ToArray(); DungeonMaster dungeonMaster = new DungeonMaster(); while (!string.IsNullOrEmpty(args[0]) || !dungeonMaster.IsGameOver()) { string output = string.Empty; try { switch (args[0].ToLower()) { case "joinparty": output = dungeonMaster.JoinParty(args); break; case "additemtopool": output = dungeonMaster.AddItemToPool(args); break; case "pickupitem": output = dungeonMaster.PickUpItem(args); break; case "useitem": output = dungeonMaster.UseItem(args); break; case "useitemon": output = dungeonMaster.UseItemOn(args); break; case "givecharacteritem": output = dungeonMaster.GiveCharacterItem(args); break; case "getstats": output = dungeonMaster.GetStats(); break; case "attack": output = dungeonMaster.Attack(args); break; case "heal": output = dungeonMaster.Heal(args); break; case "endturn": output = dungeonMaster.EndTurn(args); break; case "isgameover": if (dungeonMaster.IsGameOver()) { output = $"\nFinal stats:\n{dungeonMaster.GetStats()}"; } break; default: break; } if (dungeonMaster.IsGameOver()) { output += $"\nFinal stats:\n{dungeonMaster.GetStats()}"; Console.WriteLine(output); return; } Console.WriteLine(output); } catch (ArgumentException ae) { Console.WriteLine($"Parameter Error: {ae.Message}"); } catch (InvalidOperationException ioe) { Console.WriteLine($"Invalid Operation: {ioe.Message}"); } args = Console.ReadLine() .Split(" ", StringSplitOptions.RemoveEmptyEntries) .ToArray(); } }
public Engine(DungeonMaster dungeonMaster) { this.dungeonMaster = dungeonMaster; gameOver = false; }
public Engine() { dg = new DungeonMaster(); }
public Engine() { master = new DungeonMaster(); }
public Engine(DungeonMaster master) { this.master = master; }