Пример #1
0
        private static void gotoshop(playerstats player)
        {
            char response = 'q';

            Console.WriteLine();
            Console.WriteLine("Welcome to the shop.");
            Console.WriteLine("You can spend your XP for potions that will restore your health.");
            Console.WriteLine("You currently have {0}XP. Potions cost 10 XP.", player.PlayerTotalXP);
            Console.WriteLine("Would you like to buy 1 potion?");
            Console.Write(">");
            response = Convert.ToChar(Console.ReadLine());
            response = Char.ToUpper(response);
            if (response == 'Y')
            {
                if (player.PlayerTotalXP >= 10)
                {
                    player.PlayerTotalXP -= 10;
                    player.PlayerPotions += 1;
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine("You do not have enough XP for a potion");
                }
            }
            Console.WriteLine("Thank you for visiting the shop");
        }
Пример #2
0
 private static void playerstatus(playerstats player)
 {
     Console.WriteLine();
     Console.WriteLine("Stats for: {0}", player.PlayerName);
     Console.WriteLine("HP {0}/{1}", player.PlayerHP, player.PlayerMaxHP);
     Console.WriteLine("You are currently level {0} and have {1}/{2} XP to the next level.", player.PlayerLevel, player.PlayerTotalXP, player.XPtoLevelUP);
     Console.WriteLine("You currently have {0} potions.", player.PlayerPotions);
 }
Пример #3
0
        private static int fighting(playerstats player, GenerateMonster currentmonster)
        {
            char   response = 'q';
            Random rand     = new Random();
            Random d20      = new Random();
            int    playerand;
            int    monsterand;
            int    deathcheck;

            do
            {
                Console.WriteLine("Do you want to attack the monster? Y/N");
                Console.Write(">");
                response = Convert.ToChar(Console.ReadLine());
                response = char.ToUpper(response);
                if (response == 'Y')
                {
                    playerand = rand.Next(player.PlayerAttack[0], (player.PlayerAttack[1] + 1));

                    if ((playerand + d20.Next(1, 21)) > (currentmonster.MonsterDefense + d20.Next(1, 21)))
                    {
                        Console.WriteLine();
                        Console.WriteLine("You have hit the monster for {0} damage!", playerand);
                        currentmonster.MonsterHP -= playerand;
                        Console.WriteLine("The monster's HP is currently {0}.", currentmonster.MonsterHP);
                    }
                    else
                    {
                        monsterand = rand.Next(currentmonster.MonsterAttack[0], (currentmonster.MonsterAttack[1] + 1));
                        Console.WriteLine();
                        Console.WriteLine("The monster has hit you for {0} damage!", monsterand);
                        player.PlayerHP -= monsterand;
                        Console.WriteLine("Your HP is currently {0}. ", player.PlayerHP);
                    }
                    deathcheck = checkfordead(player.PlayerHP, currentmonster.MonsterHP);
                    switch (deathcheck)
                    {
                    case 1:
                        Console.WriteLine("The monster has defeated you. You are forced to head back to town. You lose {0} XP", currentmonster.MonsterXP);
                        player.PlayerHP = player.PlayerMaxHP;
                        return(-currentmonster.MonsterXP);

                    case 2:
                        Console.WriteLine("The Monster is dead! {0} XP awarded!", currentmonster.MonsterXP);
                        return(currentmonster.MonsterXP);

                    default:
                        break;
                    }
                }
                else
                {
                    Console.WriteLine("Entry not recognized, please use Y or N");
                }
            } while (response != 'N');
            return(0);
        }
Пример #4
0
 private static void usepotion(playerstats player)
 {
     if (player.PlayerPotions != 0)
     {
         player.PlayerPotions--;
         Console.WriteLine();
         Console.WriteLine("You take a potion from your belt and drink.");
         Console.WriteLine("Your HP is restored.");
         Console.WriteLine("You now have {0} potions remaining.", player.PlayerPotions);
         player.PlayerHP = player.PlayerMaxHP;
     }
     else
     {
         Console.WriteLine();
     }
     Console.WriteLine("You do not have any potions.");
 }
Пример #5
0
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to Dungeon Adventure.");
            Console.WriteLine("Please enter your name.");
            Console.Write(">");
            string inputname = Convert.ToString(Console.ReadLine());

            playerstats player     = new playerstats(inputname);
            string      menuchoice = String.Empty;


            do
            {
                menuchoice = menu();
                switch (menuchoice)
                {
                case "E":
                    enterdungeon(player);
                    break;

                case "U":
                    usepotion(player);
                    break;

                case "S":
                    gotoshop(player);
                    break;

                case "P":
                    playerstatus(player);
                    break;

                default:
                    break;
                }
            } while (menuchoice != "X");


            Console.WriteLine();
            Console.WriteLine("You have ended the game at level {0} with {1} XP.", player.PlayerLevel, player.PlayerTotalXP);
            Console.WriteLine("Press the any key to exit...");
            Console.ReadKey();
        }
Пример #6
0
 private static void checkforlevelup(playerstats player)
 {
     if (player.PlayerTotalXP >= player.XPtoLevelUP)
     {
         Console.WriteLine("***************");
         player.PlayerLevel += 1;
         Console.WriteLine("Congratulations! You leveled up! You are now level {0}!", player.PlayerLevel);
         player.XPtoLevelUP = (player.XPtoLevelUP * 2) + (player.XPtoLevelUP / 2);
         Console.WriteLine("It will now take {0}XP to reach the next level.", player.XPtoLevelUP);
         player.PlayerAttack = player.setplayerattack(player.PlayerLevel);
         Console.WriteLine("Your attack is now {0} - {1}!", player.PlayerAttack[0], player.PlayerAttack[1]);
         player.PlayerMaxHP = 100 + (10 * player.PlayerLevel);
         player.PlayerHP    = player.PlayerMaxHP;
         Console.WriteLine("Your HP is now {0}.", player.PlayerHP);
         player.PlayerDefense += 2;
         Console.WriteLine("Your defense is now {0}.", player.PlayerDefense);
         Console.WriteLine("***************");
         Console.WriteLine();
     }
 }
Пример #7
0
        private static void enterdungeon(playerstats player)
        {
            int  monsterlevel = 0;
            char yesno        = 'q';

            do
            {
                monsterlevel = monstertext();
                GenerateMonster newmonster = new GenerateMonster(monsterlevel);
                monsterdisplay(newmonster);
                player.PlayerTotalXP += fighting(player, newmonster);
                if (player.PlayerTotalXP < 0)
                {
                    player.PlayerTotalXP = 0;
                }
                Console.WriteLine();
                Console.WriteLine("Player's total XP is {0}", player.PlayerTotalXP);
                checkforlevelup(player);
                Console.WriteLine("Do you want to go futher in the dungeon?");
                Console.Write(">");
                yesno = Convert.ToChar(Console.ReadLine());
                yesno = char.ToUpper(yesno);
            } while (yesno != 'N');
        }