public void CommandHandler(string line) { string[] lineSplit = line.Split(' '); string comand = lineSplit[0].ToLower(); switch (comand) { case Constants.BattleFieldCommand: this.GenerateEnemies(); Console.WriteLine(BattleField.PrintBattleField()); break; case Constants.AttackCommand: if (lineSplit.Length < 2 || lineSplit[1] == string.Empty) { throw new InputException("Cannot attack the air."); } string target = lineSplit[1]; switch (target) { case Constants.GhoulCommand: Field.Hero.AttackEnemy(lineSplit[1]); break; case Constants.HydraCommand: Field.Hero.AttackEnemy(lineSplit[1]); break; case Constants.SupremusCommand: Field.Hero.AttackEnemy(lineSplit[1]); break; case Constants.RotfaceCommand: Field.Hero.AttackEnemy(lineSplit[1]); break; case Constants.LichkingCommand: Field.Hero.AttackEnemy(lineSplit[1]); break; case Constants.DeathwingCommand: Field.Hero.AttackEnemy(lineSplit[1]); break; default: throw new InvalidEnemyException("Cannot find requested enemy."); } break; case Constants.InfoCommand: Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine(Field.PrintHero()); break; case Constants.MarketFieldCommand: MarketField market = new MarketField(); market.PrintAllItemTypes(); market.ReadCommand(); break; case Constants.ClearCommand: Console.Clear(); break; case Constants.HelpCommand: Console.ForegroundColor = ConsoleColor.Gray; Helper.DrawAllCommands(); break; case Constants.ExitCommand: ExitGame(ExitGameReason.ExitCommand); break; default: Console.ForegroundColor = ConsoleColor.Red; throw new InputException("Invalid command."); } }
public void CommandHandler(string line) { string[] lineSplit = line.Split(' '); string comand = lineSplit[0].ToLower(); switch (comand) { case Constants.BattleFieldCommand: this.GenerateEnemies(); Console.WriteLine(BattleField.PrintBattleField()); break; case Constants.AttackCommand: if (lineSplit.Length < 2 || lineSplit[1] == string.Empty) { throw new InputException("Cannot attack the air."); } string target = lineSplit[1]; switch (target) { case Constants.GhoulCommand: Field.Hero.AttackEnemy(lineSplit[1]); break; case Constants.HydraCommand: Field.Hero.AttackEnemy(lineSplit[1]); break; case Constants.SupremusCommand: Field.Hero.AttackEnemy(lineSplit[1]); break; case Constants.RotfaceCommand: Field.Hero.AttackEnemy(lineSplit[1]); break; case Constants.LichkingCommand: Field.Hero.AttackEnemy(lineSplit[1]); break; case Constants.DeathwingCommand: Field.Hero.AttackEnemy(lineSplit[1]); break; default: throw new InvalidEnemyException("Cannot find requested enemy."); } break; case Constants.InfoCommand: Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine(Field.PrintHero()); break; case Constants.MarketFieldCommand: MarketField market = new MarketField(); market.PrintAllItemTypes(); market.ReadCommand(); break; case Constants.ClearCommand: Console.Clear(); break; case Constants.HelpCommand: Console.ForegroundColor = ConsoleColor.Gray; Helper.DrawAllCommands(); break; case Constants.ExitCommand: ExitGame(ExitGameReason.ExitCommand); break; case Constants.SaveCommand: Console.ForegroundColor = ConsoleColor.Green; Save.SaveHeroInformation(); Console.WriteLine("You successfully save your hero!!!"); break; default: Console.ForegroundColor = ConsoleColor.Red; throw new InputException("Invalid command."); } }