Example #1
0
 private static bool Turn(Hero hero, Monster monster, Inventory inventory)
 {
     var flag = 0;
     var usedItem = true;
     var fled = true;
     WriteLine("What do you want to do ?\nAttack\nUse Item\nFlee");
     var choice = ReadLine();
     if (choice == null) return true;
     switch (choice.ToUpper())
     {
         case "ATTACK":
             hero.Attack(monster);
             if (monster.HitPoints > 0)
                 WriteLine(monster.Name + " has " + monster.HitPoints + " HP left !");
             flag = 0;
             break;
         case "USE ITEM":
             WriteLine("Which item do you want to use ?");
             inventory.DisplayInventory();
             var item = ReadLine();
             flag = 0;
             if (item != null)
                 usedItem = Hero.UseItem(item, inventory, hero, monster);
             break;
         case "FLEE":
             Hero.Flee();
             fled = false;
             break;
         default:
             WriteLine("Action unavailable... Please type it again...");
             flag = 1;
             break;
     }
     if (flag == 1 || !usedItem) return true;
     if (!fled) return false;
     if (monster.HitPoints <= 0) return true;
     monster.Attack(hero);
     WriteLine(monster.Name + " hits you for " + monster.Weapon.Damage +
                       " points of damage.\nYou have " +
                       hero.HitPoints + "HP left.");
     return true;
 }