Example #1
0
        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.");
            }
        }
Example #2
0
        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.");
            }
        }