Exemple #1
0
        //user eats
        public static void Eat(Player_Stats player)
        {
            string foodInput = "";

            TextWriter.Write("Would you like to consume apple(A), bread(B), or cake(C)");
            foodInput = Console.ReadLine();
            if (foodInput == "a" || foodInput == "A")
            {
                if (player.RemoveItem("Apple"))
                {
                    player.hunger += 5;
                }
            }
            else if (foodInput == "b" || foodInput == "B")
            {
                if (player.RemoveItem("Bread"))
                {
                    player.hunger += 20;
                }
            }
            else if (foodInput == "c" || foodInput == "C")
            {
                if (player.RemoveItem("Cake"))
                {
                    player.hunger += 50;
                }
            }
        }
Exemple #2
0
        //user eats
        public static void Heal(Player_Stats player)
        {
            string Healinput = "";

            TextWriter.Write("Would you like to use a health potion? y for yes");
            Healinput = Console.ReadLine();
            if (Healinput.ToLower() == "y" || Healinput.ToLower() == "yes")
            {
                if (player.RemoveItem("HealthPotion"))
                {
                    player.health += 20;
                }
            }
        }
Exemple #3
0
        //Does the encounter
        public void PerformEncounter(Player_Stats ps, Game game)
        {
            if (!completed)
            {
                Random random          = new Random();
                int    currEnemyHealth = enemyHealth;
                TextWriter.Write(announcement);
                bool playerRan = false;

                //While nobody is dead
                while (currEnemyHealth > 0 && ps.Health > 0 && !playerRan)
                {
                    bool doneWithInput = false;
                    char input         = ' ';

                    WritePlayerOptions(ps, true, enemyName.ToLower() != "trap");

                    while (!doneWithInput)
                    {
                        doneWithInput = true;
                        input         = Console.ReadKey().KeyChar;

                        switch (input)
                        {
                        case 'a':
                            Console.Clear();
                            TextWriter.Write("En garde!");
                            break;

                        case 'h':
                            if (ps.RemoveItem("health potion"))
                            {
                                int potionHealth = game.GetItemFromName("health potion").metadata;
                                ps.health += potionHealth;
                                Console.Clear();
                                TextWriter.Write($"You chug a health potion. %3+{potionHealth} health%0!`\nYour health is now %3{ps.health}%0!");
                            }
                            else
                            {
                                Console.Clear();
                                TextWriter.Write($"%2You have no health potions!%0");
                            }
                            break;

                        case 'r':
                            if (ps.money <= 0)
                            {
                                TextWriter.Write($"\nYou have no gold! %4{enemyName}%0 attacks you for %5{random.Next(10)}%0 damage as you run!````");
                                Console.Clear();
                            }
                            else
                            {
                                int moneyloss = random.Next(15);
                                if (ps.money < moneyloss)
                                {
                                    moneyloss = ps.money;
                                    ps.money  = 0;
                                }
                                else
                                {
                                    ps.money -= moneyloss;
                                }

                                TextWriter.Write($"\nYou lost %5{moneyloss} gold%0 as you run away...` You now have %5{ps.money} gold%0.````");
                                playerRan = true;
                                Console.Clear();
                            }
                            break;

                        default:
                            Console.CursorLeft--;
                            Console.Write(" ");
                            Console.CursorLeft--;
                            doneWithInput = false;
                            break;
                        }
                    }

                    if (playerRan)
                    {
                        break;
                    }

                    //Randomly make the player or enemy attack first
                    if (random.Next(2) == 0)
                    {
                        PerformPlayerAttack(ps, random, ref currEnemyHealth);
                        if (currEnemyHealth > 0)
                        {
                            PerformEnemyAttack(ps, random, ref currEnemyHealth);
                        }
                    }
                    else
                    {
                        PerformEnemyAttack(ps, random, ref currEnemyHealth);
                        if (ps.health > 0)
                        {
                            PerformPlayerAttack(ps, random, ref currEnemyHealth);
                        }
                    }

                    if (currEnemyHealth <= 0)
                    {
                        TextWriter.Write($"\n%5YOU WIN!%0\n%4{win}%0\n");

                        ps.strength += 1;
                        ps.money    += rewardGold;

                        TextWriter.Write($"Your strength increases to %3{ps.strength}%0!");
                        TextWriter.Write($"You gain %5{rewardGold} gold%0!");
                        foreach (int i in itemrewards)
                        {
                            string itemname = game.items[i].name.ToLower();
                            bool   useAn    = itemname[0] == 'a' || itemname[0] == 'e' || itemname[0] == 'i' || itemname[0] == 'o' || itemname[0] == 'u';
                            TextWriter.Write($"You got a{(useAn ? "n" : "")} %2{game.items[i].name}%0!");
                            ps.inv.Add(game.items[i]);
                        }
                        completed = true;
                    }
                    else if (ps.Health <= 0)
                    {
                        TextWriter.Write($"\n%2{lose}%0\n");
                    }
                }
            }
            else //if previously completed
            {
                TextWriter.Write($"You've already defeated %5{enemyName}%0.");
            }
        }