Esempio n. 1
0
        /// <summary>
        /// Checks for plants
        /// </summary>
        /// <param name="universe"></param>
        /// <param name="adventurer"></param>
        public static void CheckForFoiliage(Universe universe, Adventurer adventurer)
        {
            foreach (Foiliage plant in universe.FoiliageList)
            {
                if (plant.Location == adventurer.MapLocation)
                {
                    switch (plant.Plant)
                    {
                    case Foiliage.plantType.Tree:
                        DisplayMap.DisplayTree(plant.XPos, plant.YPos);
                        break;

                    case Foiliage.plantType.Grass:
                        DisplayMap.DisplayPlantBasic(plant.XPos, plant.YPos, plant.CharIcon);
                        break;

                    case Foiliage.plantType.Flower:
                        break;

                    case Foiliage.plantType.Field:
                        DisplayMap.DisplayPlantGrass(plant.XPos, plant.XEnd, plant.YPos, plant.YEnd, plant.CharIcon);
                        break;

                    case Foiliage.plantType.Fountain:
                        TextDrawings.DisplayFountain(plant.XPos, plant.YPos);
                        break;

                    default:
                        break;
                    }
                }
            }
        }
Esempio n. 2
0
        //make a loop to hold player movement and other values
        public static bool GameLoop(Adventurer adventurer, Universe universe)
        {
            Random random    = new Random();
            int    encounter = 0;
            bool   playing   = true;
            bool   win       = false;

            TextBoxViews.DisplayPlayerInfo(adventurer);
            TextBoxViews.DisplayHeader();
            Console.CursorVisible = false;
            while (playing)
            {
                TextBoxViews.DisplayPosition(adventurer);
                playing = Map.movement(adventurer, universe);
                Map.CheckPosition(adventurer, universe);
                encounter = random.Next(1, 30);
                if (encounter < 2 && adventurer.MapLocation == Humanoid.Location.MainWorld)
                {
                    Slime slime = new Slime();
                    Slime.InitializeNewSlime(slime);
                    playing = Battle.BattleLoop(adventurer, universe, slime);
                }
                if (universe.TripleTrouble[0].Defeated && universe.TripleTrouble[1].Defeated && universe.TripleTrouble[2].Defeated)
                {
                    adventurer.playerWin = true;
                    playing = false;
                }
                if (adventurer.diedOnFinal)
                {
                    playing = false;
                }
            }
            return(win);
        }
Esempio n. 3
0
        public static void DisplayHouses(Universe universe, Adventurer adventurer)
        {
            if (adventurer.MapLocation != Humanoid.Location.MainWorld)
            {
                foreach (House house in universe.HouseList)
                {
                    if (adventurer.MapLocation == house.HouseLoc)
                    {
                        switch (adventurer.MapLocation)
                        {
                        case Humanoid.Location.TutTown:
                            DisplayHouse(house.Xpos, house.Ypos, house.HouseColor);
                            break;

                        case Humanoid.Location.CherryGrove:
                            DisplayHouse(house.Xpos, house.Ypos, house.HouseColor);
                            break;

                        default:
                            break;
                        }
                    }
                }
            }
        }
Esempio n. 4
0
 public static void QuestGiver(Adventurer adventurer)
 {
     Console.SetCursorPosition(110, 20);
     Console.Write("QUEST: " + adventurer.CurrentQuest);
     Console.SetCursorPosition(110, 22);
     Console.Write("                       ");
 }
Esempio n. 5
0
 public static void DisplayPosition(Adventurer adventurer)
 {
     Console.SetCursorPosition(110, 20);
     Console.Write("X: " + adventurer.Xpos + "   ");
     Console.SetCursorPosition(110, 21);
     Console.Write("Y: " + adventurer.Ypos + "   ");
 }
Esempio n. 6
0
        public static void CheckPosition(Adventurer adventurer, Universe universe)
        {
            //checks for current quest and if you complete the quest or not
            Check.CheckPlayerQuest(universe, adventurer);

            //Checks what map you are on and then Draws the correct entities to the screen
            Check.CheckPlayerPosition(universe, adventurer);

            //checks whether to draw house stuff or not
            if (!adventurer.InaHouse)
            {
                DisplayMapObjects(adventurer, universe);
            }
            else if (adventurer.InaHouse)
            {
                foreach (var house in universe.HouseList)
                {
                    if (house.PlayerInside)
                    {
                        DisplayMap.DisplayHouseInside(universe);
                        Check.CheckNPCMap(universe, adventurer.InHouseName);
                        DisplayMap.DisplayNPC(universe);
                        Check.CheckAndDisplayItemMap(universe, adventurer);
                        //Handles all objects in the "rooms"

                        //NEW IDEA, Hows bout thats annoying and no
                        Check.CheckandDisplayRoomObjects(universe, adventurer);
                    }
                }
            }
        }
Esempio n. 7
0
        public static void CheckAndPickupItem(Universe universe, Adventurer adventurer)
        {
            int checkx = adventurer.Xpos;
            int checky = adventurer.Ypos;

            switch (adventurer.LookDirection)
            {
            case Humanoid.Direction.LEFT:
                checkx--;
                break;

            case Humanoid.Direction.RIGHT:
                checkx++;
                break;

            case Humanoid.Direction.UP:
                checky--;
                break;

            case Humanoid.Direction.DOWN:
                checky++;
                break;

            default:
                break;
            }

            foreach (var item in universe.ItemList)
            {
                if ((item.houseLoc != House.houseName.None) && (item.houseLoc == adventurer.InHouseName))
                {
                    if (!item.itemTaken)
                    {
                        if ((item.XPos == checkx) && (item.YPos == checky))
                        {
                            item.itemTaken = true;
                            adventurer.ItemsDictionary[item.ItemType] += 1;
                            DisplayMap.DisplayItemToPickup(item.XPos, item.YPos, item.itemTaken);
                            TextBoxViews.WriteToMessageBox(universe, "You picked up a " + item.ItemType.ToString());
                        }
                    }
                }
                else if (item.worldLoc == adventurer.MapLocation)
                {
                    if (!item.itemTaken)
                    {
                        //matches locations
                        if ((item.XPos == checkx) && (item.YPos == checky))
                        {
                            item.itemTaken = true;
                            adventurer.ItemsDictionary[item.ItemType] += 1;
                            DisplayMap.DisplayItemToPickup(item.XPos, item.YPos, item.itemTaken);
                            TextBoxViews.WriteToMessageBox(universe, "You picked up a " + item.ItemType.ToString());
                        }
                    }
                }
            }
        }//End of last Method
Esempio n. 8
0
        public static bool BattleLoop(Adventurer adventurer, Universe universe, Slime slime)
        {
            TextBoxViews.ClearMapBox();
            TextBoxViews.RedrawBox(universe, 6);

            bool blocked;
            bool stillAlive = true;

            TextBoxViews.ReWriteToMessageBox(universe, "A slime attacks!");
            Random random = new Random();

            do
            {
                TextDrawings.DisplaySlime(slime);

                TextBoxViews.WriteToEvent("Slime : " + slime.Health);
                TextBoxViews.DisplayPlayerInfo(adventurer);

                blocked = Attack(adventurer, universe, slime);

                TextBoxViews.WriteToEvent("Slime : " + slime.Health);

                if (slime.Health > 0)
                {
                    SlimeATK(adventurer, universe, slime, blocked);
                }
            } while ((adventurer.Health > 0) && (slime.Health > 0));
            if (adventurer.Health > 0)
            {
                int coinDrop;
                int gelDrop;
                int expGain;

                coinDrop = random.Next(10, 30);
                gelDrop  = random.Next(5, 15);
                expGain  = random.Next(10, slime.ExpGiv);

                TextBoxViews.WriteToMessageBox(universe, $"You have succeeded in battle and have recieved {coinDrop} coins and {gelDrop} gel.");

                adventurer.Coins += coinDrop;
                adventurer.ItemsDictionary[Item.Items.SlimeGel] += gelDrop;
                adventurer.Experinece += expGain;
                if (adventurer.Experinece >= adventurer.MaxExperience)
                {
                    Adventurer.PlayerLevelUp(adventurer, universe);
                }
            }
            else
            {
                stillAlive = false;
            }
            TextBoxViews.ClearMapBox();
            TextBoxViews.RemoveContent(universe, 3);
            TextBoxViews.DisplayMenu(universe);
            TextBoxViews.DisplayPlayerInfo(adventurer);

            return(stillAlive);
        }
Esempio n. 9
0
 /// <summary>
 /// Checks for Furniture then displays it in the room you are in.
 /// </summary>
 /// <param name="universe"></param>
 /// <param name="adventurer"></param>
 public static void CheckandDisplayRoomObjects(Universe universe, Adventurer adventurer)
 {
     foreach (var furniture in universe.FurnitureList)
     {
         if (furniture.House == adventurer.InHouseName)
         {
             DisplayMap.DisplayHouseObjects(furniture.Xpos, furniture.Ypos, furniture.FurnituretOb);
         }
     }
 }
Esempio n. 10
0
        /// <summary>
        /// Prints where you have been in order
        /// </summary>
        /// <param name="adventurer"></param>
        /// <param name="universe"></param>
        public static void PlayerLocationss(Adventurer adventurer, Universe universe)
        {
            string message = "Where you have been. In order :";

            foreach (var location in adventurer.PreviousLocations)
            {
                message += location.ToString();
                message += ", ";
            }
            TextBoxViews.WriteToMessageBox(universe, message);
        }
Esempio n. 11
0
 /// <summary>
 /// USE THIS FOR TRIGGERING QUEST EVENTS
 /// </summary>
 /// <param name="adventurer"></param>
 /// <param name="universe"></param>
 /// <param name="quest"></param>
 public static void QuestTrigger(Adventurer adventurer, Universe universe, Adventurer.Quest quest)
 {
     //If this triggers true then   ---Should have any extra checks?
     if (adventurer.CurrentQuest == quest)
     {
         if (!adventurer.QuestCompletion[adventurer.CurrentQuest])
         {
             adventurer.QuestCompletion[adventurer.CurrentQuest] = true;
         }
     }
 }
Esempio n. 12
0
        public static void PlayerPotionHeal(Adventurer adventurer, Universe universe)
        {
            TextBoxViews.WriteToMessageBox(universe, "You drank the health potion and healed for 20 health");
            adventurer.Health += 20;

            if (adventurer.Health > adventurer.MaxHealth)
            {
                adventurer.Health = adventurer.MaxHealth;
            }
            TextBoxViews.DisplayPlayerInfo(adventurer);
        }
Esempio n. 13
0
 public static void DisplayTowns(Universe universe, Adventurer adventurer)
 {
     if (adventurer.MapLocation == Humanoid.Location.MainWorld)
     {
         foreach (Towns town in universe.TownList)
         {
             Console.SetCursorPosition(town.Xpos, town.Ypos);
             Console.Write(town.MapIcon);
         }
     }
 }
Esempio n. 14
0
        public static void PlayerLevelUp(Adventurer adventurer, Universe universe)
        {
            adventurer.Experinece     = 0;
            adventurer.MaxExperience += 30;

            adventurer.MaxHealth += 10;
            adventurer.Damage    += 3;
            adventurer.PlayerLevel++;

            adventurer.Health = adventurer.MaxHealth;
            TextBoxViews.WriteToMessageBox(universe, $"You Leveled up! /n Max Health : {adventurer.MaxHealth} /n Damage : {adventurer.Damage}");
            TextBoxViews.DisplayPlayerInfo(adventurer);
        }
Esempio n. 15
0
 public static void MovementRestriction(Adventurer adventurer, Universe universe, Humanoid.Direction direction)
 {
     if (adventurer.InaHouse)
     {
         if (!(adventurer.Xpos < universe.HouseLayouts[0].startXPos + 2) && (direction == Humanoid.Direction.LEFT))
         {
             adventurer.Xpos--;
         }
         if (!(adventurer.Ypos < universe.HouseLayouts[0].startYPos + 2) && (direction == Humanoid.Direction.UP))
         {
             adventurer.Ypos--;
         }
         if (!(adventurer.Xpos > universe.HouseLayouts[0].endXPos - 2) && (direction == Humanoid.Direction.RIGHT))
         {
             adventurer.Xpos++;
         }
         if (!(adventurer.Ypos > universe.HouseLayouts[0].endYPos - 2) && (direction == Humanoid.Direction.DOWN))
         {
             adventurer.Ypos++;
         }
         else if (adventurer.Xpos == 56 && adventurer.Ypos == 32 && (direction == Humanoid.Direction.DOWN))
         {
             adventurer.Ypos++;
         }
     }
     else
     {
         if (!(adventurer.Xpos < 3) && (direction == Humanoid.Direction.LEFT))
         {
             adventurer.Xpos--;
         }
         if (!(adventurer.Ypos < 7) && (direction == Humanoid.Direction.UP))
         {
             adventurer.Ypos--;
         }
         if (!(adventurer.Xpos > 102) && (direction == Humanoid.Direction.RIGHT))
         {
             adventurer.Xpos++;
         }
         if (!(adventurer.Ypos > 52) && (direction == Humanoid.Direction.DOWN))
         {
             adventurer.Ypos++;
         }
     }
 }
Esempio n. 16
0
        /// <summary>
        /// Displays a merchant message and gets you to buy stuff
        /// </summary>
        /// <param name="universe"></param>
        /// <param name="adventurer"></param>
        public static void MerchantMessage(Universe universe, Adventurer adventurer)
        {
            RedrawBox(universe, 5);

            List <Item.Items> wares = new List <Item.Items>();

            Console.SetCursorPosition(6, 46);
            Console.Write("Welcome, what can I get you?");
            TextboxCursorBlink();

            Map.MerchantBuy(universe, adventurer);

            ReWriteToMessageBox(universe, " Thank you for shopping " + adventurer.Name);

            ClearTextBox();
            RemoveBox(universe, 5);
            DisplayMenu(universe);
        }
Esempio n. 17
0
 public static void DisplayPlayerInfo(Adventurer adventurer)
 {
     Console.SetCursorPosition(110, 10);
     Console.Write("Name: " + adventurer.Name);
     Console.SetCursorPosition(110, 11);
     Console.Write("Health: " + adventurer.Health + "    ");
     Console.SetCursorPosition(110, 12);
     Console.Write("Age:" + adventurer.Age);
     Console.SetCursorPosition(110, 13);
     Console.Write("Race: " + adventurer.PlayerRace);
     Console.SetCursorPosition(110, 14);
     Console.Write("Certified weapon: " + adventurer.PlayerWeapon);
     Console.SetCursorPosition(110, 15);
     Console.Write("Coins: " + adventurer.Coins + "        ");
     Console.SetCursorPosition(110, 16);
     Console.Write("Level: " + adventurer.PlayerLevel + "        ");
     Console.SetCursorPosition(110, 17);
     Console.Write("Experience: " + adventurer.Experinece + " / " + adventurer.MaxExperience + "       ");
 }
Esempio n. 18
0
        public static void StartGame()
        {
            bool didjaWin;

            Console.CursorVisible = false;
            Windows[] windows = new Windows[6];
            Console.BackgroundColor = ConsoleColor.Gray;
            Console.ForegroundColor = ConsoleColor.Black;
            Console.SetWindowSize(150, 60);
            //WindowConfig.NumbersOnScreen();
            TextBoxViews.SplashScreen(40, 25);

            Console.ReadLine();
            Console.Clear();
            windows = InitializeWindowScreens();
            Universe universe = new Universe();

            universe = universe.InitializeUniverse(windows);

            TextBoxViews.WriteToMessageBox(universe, "After defeating the slime king peace was returned to the land. But not all peace lasts forever, and a group of bandits have set up camp in a nearby cave and it is your job to take them out...");

            Adventurer adventurer = new Adventurer();

            adventurer = TextBoxViews.GetPlayerInfo(universe);



            TextBoxViews.DisplayMenu(universe);
            didjaWin = GameLoop(adventurer, universe);


            TextBoxViews.RedrawBox(universe, 5);
            if (adventurer.playerWin)
            {
                TextBoxViews.WriteToMessageBox(universe, "YOU WIN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
            }
            else if (adventurer.diedOnFinal)
            {
                TextBoxViews.WriteToMessageBox(universe, "So close...");
            }
            TextBoxViews.WriteToMessageBox(universe, "Game Over");
        }
Esempio n. 19
0
        public static Adventurer DevPlayer()
        {
            Adventurer adventurer = new Adventurer();

            adventurer.Name                = "Winter";
            adventurer.Age                 = 18;
            adventurer.PlayerRace          = Adventurer.Race.Slime;
            adventurer.PlayerWeapon        = Adventurer.Weapon.Bow;
            adventurer.Health              = 100;
            adventurer.MaxHealth           = 100;
            adventurer.MapLocation         = Adventurer.Location.TutTown;
            adventurer.Xpos                = 55;
            adventurer.Ypos                = 26;
            adventurer.InaHouse            = false;
            adventurer.InHouseName         = House.houseName.None;
            adventurer.QuestCompletion     = Adventurer.InstantiateQuests();
            adventurer.InventoryPageNumber = 0;
            adventurer.Coins               = 9000000;
            adventurer.ItemsDictionary     = Adventurer.InstantiateInventory();

            adventurer.PreviousLocations = new List <Humanoid.Location> {
                Humanoid.Location.TutTown
            };
            adventurer.QuestDone = Adventurer.InstantiateQuestCompletionMessageCheck();

            adventurer.playerWin = false;

            adventurer.Damage = 9;

            adventurer.CurrentQuest = Adventurer.Quest.MeetTheOldMan;

            adventurer.PlayerLevel   = 1;
            adventurer.Experinece    = 95;
            adventurer.MaxExperience = 100;

            adventurer.diedOnFinal = false;


            return(adventurer);
        }
Esempio n. 20
0
        public static void DisplayMapObjects(Adventurer adventurer, Universe universe)
        {
            switch (adventurer.MapLocation)
            {
            case Humanoid.Location.MainWorld:
                Check.CheckNPCMap(universe, Humanoid.Location.MainWorld);
                DisplayMap.DisplayTowns(universe, adventurer);
                Check.CheckForFoiliage(universe, adventurer);
                Check.CheckAndDisplayItemMap(universe, adventurer);
                break;

            case Humanoid.Location.TutTown:
                Check.CheckNPCMap(universe, Humanoid.Location.TutTown);
                DisplayMap.DisplayNPC(universe);
                DisplayMap.DisplayHouses(universe, adventurer);
                Check.CheckForFoiliage(universe, adventurer);
                Check.CheckAndDisplayItemMap(universe, adventurer);

                break;

            case Humanoid.Location.CherryGrove:
                Check.CheckNPCMap(universe, Humanoid.Location.CherryGrove);
                DisplayMap.DisplayNPC(universe);
                DisplayMap.DisplayHouses(universe, adventurer);
                Check.CheckForFoiliage(universe, adventurer);
                Check.CheckAndDisplayItemMap(universe, adventurer);
                break;

            case Humanoid.Location.Cave:
                Check.CheckNPCMap(universe, Humanoid.Location.Cave);
                DisplayMap.DisplayNPC(universe);
                Check.CheckAndDisplayItemMap(universe, adventurer);
                Check.CheckandDisplayCaveEnemies(universe);
                break;

            default:
                break;
            }
        }
Esempio n. 21
0
        /// <summary>
        /// Checks for it3ems then displays them onto the current map you are on
        /// </summary>
        /// <param name="universe"></param>
        /// <param name="adventurer"></param>
        public static void CheckAndDisplayItemMap(Universe universe, Adventurer adventurer)
        {
            bool noMapItems = false;

            foreach (var item in universe.ItemList)
            {
                if ((item.houseLoc != House.houseName.None) && (item.houseLoc == adventurer.InHouseName))
                {
                    if (!item.itemTaken)
                    {
                        DisplayMap.DisplayItemToPickup(item.XPos, item.YPos);
                        noMapItems = true;
                    }
                }
                else if (item.worldLoc == adventurer.MapLocation && !noMapItems)
                {
                    if (!item.itemTaken)
                    {
                        DisplayMap.DisplayItemToPickup(item.XPos, item.YPos);
                    }
                }
            }
        }
Esempio n. 22
0
        private static bool Attack(Adventurer adventurer, Universe universe, Slime slime)
        {
            Random random    = new Random();
            int    damage    = adventurer.Damage;
            bool   blocking  = false;
            bool   tOb       = true;
            string attackMsg = "You slap the slime, YEAH F*** THAT GUY. WOOOOOOOOOOOOOOOOOO";

            if ((adventurer.PlayerWeapon == Adventurer.Weapon.BroadSword) || (adventurer.PlayerWeapon == Adventurer.Weapon.Sword))
            {
                attackMsg = "You swing your " + adventurer.PlayerWeapon + " at the slime";
            }
            else if ((adventurer.PlayerWeapon == Adventurer.Weapon.Dagger))
            {
                attackMsg = "You stabb the slime with your " + adventurer.PlayerWeapon;
            }
            else if ((adventurer.PlayerWeapon == Adventurer.Weapon.Bow))
            {
                attackMsg = "You shoot the slime with an arrow";
            }
            else if ((adventurer.PlayerWeapon == Adventurer.Weapon.Mace))
            {
                attackMsg = "You hit the slime with your " + adventurer.PlayerWeapon;
            }
            else if ((adventurer.PlayerWeapon == Adventurer.Weapon.Staff))
            {
                attackMsg = "You cast a fire spell on the slime.";
            }
            //
            // PLAYER MENU
            //


            //New method for handling

            TextBoxViews.DisplayCustom(universe, new string[4] {
                " Attack", " Throw a Rock : " + adventurer.ItemsDictionary[Item.Items.Stone], " Block", "Use a potion : " + adventurer.ItemsDictionary[Item.Items.HealthPotion]
            });

            TextBoxViews.ReWriteToMessageBox(universe, "Please choose an action...", true);

            while (tOb)
            {
                ConsoleKeyInfo key = Console.ReadKey();
                switch (key.Key)
                {
                case ConsoleKey.D1:
                    TextBoxViews.ReWriteToMessageBox(universe, attackMsg + " You dealt " + damage + " damage.");
                    slime.Health -= damage;
                    tOb           = false;
                    break;

                case ConsoleKey.D2:
                    if (adventurer.ItemsDictionary[Item.Items.Stone] >= 1)
                    {
                        adventurer.ItemsDictionary[Item.Items.Stone]--;
                        damage = 2;
                        TextBoxViews.ReWriteToMessageBox(universe, "You throw a stone at the slime and deal " + damage.ToString() + " damage.");
                        slime.Health -= damage;
                        tOb           = false;
                    }
                    else
                    {
                        TextBoxViews.ReWriteToMessageBox(universe, "You dont have any rocks to throw", true);
                    }
                    break;

                case ConsoleKey.D3:
                    TextBoxViews.ReWriteToMessageBox(universe, "You get ready to block the slime's next attack.");
                    blocking = true;
                    tOb      = false;
                    break;

                case ConsoleKey.D4:
                    if (adventurer.ItemsDictionary[Item.Items.HealthPotion] > 0)
                    {
                        adventurer.ItemsDictionary[Item.Items.HealthPotion]--;
                        Adventurer.PlayerPotionHeal(adventurer, universe);
                        tOb = false;
                    }
                    else
                    {
                        TextBoxViews.WriteToMessageBox(universe, "You don't have any health potions left");
                    }
                    break;



                case ConsoleKey.NumPad1:
                    TextBoxViews.ReWriteToMessageBox(universe, attackMsg + " You dealt " + damage + " damage.");
                    tOb = false;
                    break;

                case ConsoleKey.NumPad2:
                    if (adventurer.ItemsDictionary[Item.Items.Stone] > 0)
                    {
                        adventurer.ItemsDictionary[Item.Items.Stone]--;
                        damage = 2;
                        TextBoxViews.ReWriteToMessageBox(universe, "You throw a stone at the slime and deal " + damage.ToString() + " damage.");
                        slime.Health -= damage;
                        tOb           = false;
                    }
                    else
                    {
                        TextBoxViews.ReWriteToMessageBox(universe, "You dont have any stones to throw!");
                    }
                    break;

                case ConsoleKey.NumPad3:
                    TextBoxViews.ReWriteToMessageBox(universe, "You get ready to block the slime's next attack.");
                    blocking = true;
                    tOb      = false;
                    break;

                case ConsoleKey.NumPad4:
                    if (adventurer.ItemsDictionary[Item.Items.HealthPotion] > 0)
                    {
                        adventurer.ItemsDictionary[Item.Items.HealthPotion]--;
                        Adventurer.PlayerPotionHeal(adventurer, universe);
                        tOb = false;
                    }
                    else
                    {
                        TextBoxViews.WriteToMessageBox(universe, "You don't have any health potions left");
                    }
                    break;


                default:
                    TextBoxViews.ReWriteToMessageBox(universe, "Please Choose an attack using the numbers on your keyboard.", true);
                    break;
                }
            }
            return(blocking);
        }
Esempio n. 23
0
        /// <summary>
        /// Sets up an inventory to display in the Menu
        /// </summary>
        /// <param name="adventurer"></param>
        public static void InventoryManagment(Adventurer adventurer, Universe universe)
        {
            bool           usingInventory = true;
            ConsoleKeyInfo key;
            Dictionary <Item.Items, int> itemList = new Dictionary <Item.Items, int>();

            Item.Items[] itemarray = new Item.Items[10];
            int          i         = 0;

            foreach (var item in adventurer.ItemsDictionary)
            {
                itemList.Add(item.Key, item.Value);
                itemarray[i] = item.Key;

                i++;
            }

            Item.Items itemToUse = Item.Items.Nothing;

            while (usingInventory)
            {
                TextBoxViews.RemoveContent(universe, 3);
                TextBoxViews.DisplayInventory(itemList);
                bool error = false;
                key = Console.ReadKey();
                try
                {
                    //remove use item from temp inventory
                    switch (key.Key)
                    {
                    case ConsoleKey.D1:
                        itemList[itemarray[0]] -= 1;
                        itemToUse = itemarray[0];
                        break;

                    case ConsoleKey.D2:
                        itemList[itemarray[1]] -= 1;
                        itemToUse = itemarray[1];
                        break;

                    case ConsoleKey.D3:
                        itemList[itemarray[2]] -= 1;
                        itemToUse = itemarray[2];
                        break;

                    case ConsoleKey.D4:
                        itemList[itemarray[3]] -= 1;
                        itemToUse = itemarray[3];
                        break;

                    case ConsoleKey.D5:
                        itemList[itemarray[4]] -= 1;
                        itemToUse = itemarray[4];
                        break;

                    case ConsoleKey.D6:
                        itemList[itemarray[5]] -= 1;
                        itemToUse = itemarray[5];
                        break;

                    case ConsoleKey.D7:
                        itemList[itemarray[6]] -= 1;
                        itemToUse = itemarray[6];
                        break;

                    case ConsoleKey.D8:
                        itemList[itemarray[7]] -= 1;
                        itemToUse = itemarray[7];
                        break;

                    case ConsoleKey.D9:
                        usingInventory = false;
                        break;

                    case ConsoleKey.NumPad1:
                        itemList[itemarray[0]] -= 1;
                        itemToUse = itemarray[0];
                        break;

                    case ConsoleKey.NumPad2:
                        itemList[itemarray[1]] -= 1;
                        itemToUse = itemarray[1];
                        break;

                    case ConsoleKey.NumPad3:
                        itemList[itemarray[2]] -= 1;
                        itemToUse = itemarray[2];
                        break;

                    case ConsoleKey.NumPad4:
                        itemList[itemarray[3]] -= 1;
                        itemToUse = itemarray[3];
                        break;

                    case ConsoleKey.NumPad5:
                        itemList[itemarray[4]] -= 1;
                        itemToUse = itemarray[4];
                        break;

                    case ConsoleKey.NumPad6:
                        itemList[itemarray[5]] -= 1;
                        itemToUse = itemarray[5];
                        break;

                    case ConsoleKey.NumPad7:
                        itemList[itemarray[6]] -= 1;
                        itemToUse = itemarray[6];
                        break;

                    case ConsoleKey.NumPad8:
                        itemList[itemarray[7]] -= 1;
                        itemToUse = itemarray[7];
                        break;

                    case ConsoleKey.NumPad9:
                        usingInventory = false;
                        break;


                    case ConsoleKey.LeftArrow:
                        usingInventory = false;
                        break;

                    case ConsoleKey.RightArrow:
                        usingInventory = false;
                        break;

                    case ConsoleKey.UpArrow:
                        usingInventory = false;
                        break;

                    case ConsoleKey.DownArrow:
                        usingInventory = false;
                        break;



                    default:
                        break;
                    }
                }
                catch (Exception)
                {
                    error = true;
                    //No throwing in here
                }
                finally
                {
                    //I decided im not dealing with the program deciding to add to nothing. tOb can keep trying though
                    try
                    {
                        if (!error && !(key.Key == ConsoleKey.D9 || key.Key == ConsoleKey.NumPad9) && !(adventurer.ItemsDictionary[itemToUse] <= 0))
                        {
                            switch (itemToUse)
                            {
                            case Item.Items.HealthPotion:
                                Adventurer.PlayerPotionHeal(adventurer, universe);
                                adventurer.ItemsDictionary[itemToUse] = itemList[itemToUse];
                                break;

                            case Item.Items.ManaPotion:
                                TextBoxViews.WriteToMessageBox(universe, "You feel all tingly inside");
                                adventurer.ItemsDictionary[itemToUse] = itemList[itemToUse];
                                break;

                            case Item.Items.Stone:
                                TextBoxViews.WriteToMessageBox(universe, "You throw the stone and it vanishes into the distance...");
                                adventurer.ItemsDictionary[itemToUse] = itemList[itemToUse];
                                break;

                            case Item.Items.SlimeGel:
                                TextBoxViews.WriteToMessageBox(universe, "You cannot use slime...");
                                itemList[itemToUse]++;
                                break;

                            case Item.Items.Parcel:
                                TextBoxViews.WriteToMessageBox(universe, "You cannot use the parcel you are delivering!");
                                itemList[itemToUse]++;
                                break;

                            case Item.Items.Nothing:
                                TextBoxViews.WriteToMessageBox(universe, "There is nothing there");
                                break;

                            default:
                                break;
                            }
                        }

                        else if (!(key.Key == ConsoleKey.D9 || key.Key == ConsoleKey.NumPad9) && (itemList[itemToUse] < 0))
                        {
                            TextBoxViews.WriteToMessageBox(universe, "You dont have that item");

                            itemList[itemToUse]++;
                        }
                        else if (!(key.Key == ConsoleKey.D9 || key.Key == ConsoleKey.NumPad9))
                        {
                            TextBoxViews.WriteToMessageBox(universe, "You dont have that item");
                        }
                    }
                    catch (Exception)
                    {
                    } //End try catch inventory navigation
                }     //end finally
            }         //end using inventory while


            TextBoxViews.DisplayMenu(universe);
        }
Esempio n. 24
0
        public static Adventurer GetPlayerInfo(Universe universe)
        {
            Adventurer adventurer = new Adventurer();

            ClearInputBox();

            ReWriteToMessageBox(universe, "Please enter your name young one.", true);
            Console.SetCursorPosition(4, 56);
            adventurer.Name = Console.ReadLine();
            ClearTextBox();
            ClearErrorTextBox();



            ReWriteToMessageBox(universe, "Please enter your age " + adventurer.Name, true);
            adventurer.Age = Validators.ValidInt();
            ClearTextBox();
            ClearErrorTextBox();



            ReWriteToMessageBox(universe, "What race are you?", true);
            Console.SetCursorPosition(6, 47);
            Console.Write(Adventurer.Race.Human);
            Console.SetCursorPosition(6, 48);
            Console.Write(Adventurer.Race.Slime);
            Console.SetCursorPosition(6, 49);
            Console.Write(Adventurer.Race.Elve);
            Console.SetCursorPosition(6, 50);
            Console.Write(Adventurer.Race.Orc);

            adventurer.PlayerRace = Validators.RaceValidation();
            ClearTextBox();
            ClearErrorTextBox();


            ReWriteToMessageBox(universe, "What Weapon will you use?", true);
            Console.SetCursorPosition(6, 47);
            Console.Write(Adventurer.Weapon.Bow);
            Console.SetCursorPosition(6, 48);
            Console.Write(Adventurer.Weapon.Sword);
            Console.SetCursorPosition(6, 49);
            Console.Write(Adventurer.Weapon.Staff);
            Console.SetCursorPosition(6, 50);
            Console.Write(Adventurer.Weapon.BroadSword);
            Console.SetCursorPosition(6, 51);
            Console.Write(Adventurer.Weapon.Dagger);
            Console.SetCursorPosition(6, 52);
            Console.Write(Adventurer.Weapon.Mace);
            adventurer.PlayerWeapon = Validators.WeaponValidation();
            ClearTextBox();
            ClearErrorTextBox();


            adventurer.Health      = 100;
            adventurer.MaxHealth   = 100;
            adventurer.MapLocation = Adventurer.Location.TutTown;
            adventurer.Xpos        = 55;
            adventurer.Ypos        = 26;
            adventurer.InaHouse    = false;
            adventurer.InHouseName = House.houseName.None;



            adventurer.QuestCompletion   = Adventurer.InstantiateQuests();
            adventurer.PreviousLocations = new List <Humanoid.Location> {
                Humanoid.Location.TutTown
            };

            adventurer.Coins           = 20;
            adventurer.ItemsDictionary = Adventurer.InstantiateInventory();
            adventurer.QuestDone       = Adventurer.InstantiateQuestCompletionMessageCheck();

            if ((adventurer.PlayerWeapon == Adventurer.Weapon.BroadSword) || (adventurer.PlayerWeapon == Adventurer.Weapon.Sword))
            {
                adventurer.Damage = 7;
            }
            else if ((adventurer.PlayerWeapon == Adventurer.Weapon.Dagger))
            {
                adventurer.Damage = 5;
            }
            else if ((adventurer.PlayerWeapon == Adventurer.Weapon.Bow))
            {
                adventurer.Damage = 9;
            }
            else if ((adventurer.PlayerWeapon == Adventurer.Weapon.Mace))
            {
                adventurer.Damage = 11;
            }
            else if ((adventurer.PlayerWeapon == Adventurer.Weapon.Staff))
            {
                adventurer.Damage = 10;
            }

            adventurer.playerWin = false;

            adventurer.PlayerLevel   = 1;
            adventurer.Experinece    = 0;
            adventurer.MaxExperience = 100;
            adventurer.CurrentQuest  = Adventurer.Quest.MeetTheOldMan;

            adventurer.diedOnFinal = false;

            RemoveBox(universe, 5);
            return(adventurer);
        }
Esempio n. 25
0
        /// <summary>
        /// Lets you purchase from a merchant
        /// </summary>
        /// <param name="universe"></param>
        /// <param name="adventurer"></param>
        public static void MerchantBuy(Universe universe, Adventurer adventurer)
        {
            ConsoleKeyInfo consoleKey;
            bool           keepShopping = true;
            Dictionary <Item.Items, int> itemToPurchase = new Dictionary <Item.Items, int>();

            TextBoxViews.MerchMenu(universe);

            Item.Items item = Item.Items.SlimeGel;
            while (keepShopping)
            {
                bool purchase        = false;
                bool chooseSomething = true;


                int cost = 0;

                while (chooseSomething)
                {
                    consoleKey = Console.ReadKey();

                    switch (consoleKey.Key)
                    {
                    case ConsoleKey.NumPad1:

                        item = Item.Items.HealthPotion;

                        itemToPurchase[item] = HowMany(universe, Item.Items.HealthPotion);

                        cost = 20 * itemToPurchase[item];

                        chooseSomething = false;
                        break;

                    case ConsoleKey.D1:
                        item = Item.Items.HealthPotion;

                        itemToPurchase[item] = HowMany(universe, Item.Items.HealthPotion);

                        cost = 20 * itemToPurchase[item];

                        chooseSomething = false;

                        break;

                    case ConsoleKey.NumPad2:
                        item = Item.Items.ManaPotion;

                        itemToPurchase[item] = HowMany(universe, Item.Items.ManaPotion);

                        cost = 20 * itemToPurchase[item];

                        chooseSomething = false;
                        break;

                    case ConsoleKey.D2:
                        item = Item.Items.ManaPotion;

                        itemToPurchase[item] = HowMany(universe, Item.Items.ManaPotion);

                        cost = 20 * itemToPurchase[item];

                        chooseSomething = false;
                        break;


                    case ConsoleKey.NumPad3:
                        item = Item.Items.Stone;

                        itemToPurchase[item] = HowMany(universe, Item.Items.Stone);

                        cost = 2 * itemToPurchase[item];



                        chooseSomething = false;
                        break;

                    case ConsoleKey.D3:
                        item = Item.Items.Stone;

                        itemToPurchase[item] = HowMany(universe, Item.Items.Stone);

                        cost = 2 * itemToPurchase[item];



                        chooseSomething = false;
                        break;


                    case ConsoleKey.NumPad9:
                        keepShopping    = false;
                        chooseSomething = false;
                        break;

                    case ConsoleKey.D9:
                        keepShopping    = false;
                        chooseSomething = false;
                        break;

                    case ConsoleKey.LeftArrow:
                        keepShopping    = false;
                        chooseSomething = false;
                        break;

                    case ConsoleKey.RightArrow:
                        keepShopping    = false;
                        chooseSomething = false;
                        break;

                    case ConsoleKey.UpArrow:
                        keepShopping    = false;
                        chooseSomething = false;
                        break;

                    case ConsoleKey.DownArrow:
                        keepShopping    = false;
                        chooseSomething = false;
                        break;

                    default:
                        TextBoxViews.ReWriteToMessageBox(universe, "Please choose something I have and not the air please.", true);
                        break;
                    }
                }

                //Prints question
                if (keepShopping == true)
                {
                    TextBoxViews.ReWriteToMessageBox(universe, "So you want to buy " + itemToPurchase[item] + " " + item + "(s) for " + cost + " gold? Yes/No", true);

                    //Gets user input
                    purchase = Validators.ValidYesNo();
                }

                if (keepShopping)
                {
                    //checks if the player has enough coins
                    if (purchase && (adventurer.Coins >= cost))
                    {
                        adventurer.ItemsDictionary[item] += itemToPurchase[item];
                        adventurer.Coins -= cost;

                        TextBoxViews.ReWriteToMessageBox(universe, "Thanks for buyin", true);
                    }

                    else if (purchase && !(adventurer.Coins >= cost))
                    {
                        TextBoxViews.ReWriteToMessageBox(universe, "Hey! You dont have enough to buy that!!!", true);
                    }
                }
                TextBoxViews.DisplayPlayerInfo(adventurer);
            }
        }
Esempio n. 26
0
        private static void SlimeATK(Adventurer adventurer, Universe universe, Slime slime, bool blocked)
        {
            //Setup
            Random random = new Random();
            int    attack = random.Next(1, 4);
            int    damage = 0;
            bool   tOb    = true;//tOb is here to help

            //If else statement to handle what happens next
            if (!slime.PowerAttack)
            {
                if (attack == 1)
                {
                    TextBoxViews.ReWriteToMessageBox(universe, "The slime jumps at you and lands on your foot...");
                    damage = random.Next(5, slime.Damage);
                }
                else if (attack == 2)
                {
                    TextBoxViews.ReWriteToMessageBox(universe, "The slime jumps at you and hits you in the chest...");
                    damage = random.Next(5, slime.Damage);
                }
                else if (attack == 3)
                {
                    TextBoxViews.ReWriteToMessageBox(universe, "The slime readies to do a very powerful attack...");
                    slime.PowerAttack = true;
                    tOb = false;
                }

                else
                {
                    TextBoxViews.WriteToMessageBox(universe, "Error: No attack defined...");
                }
            }
            else if (slime.PowerAttack)
            {
                damage = random.Next(20, slime.Damage * 3);

                TextBoxViews.ReWriteToMessageBox(universe, "The slime slams into you with a lot of force.");
            }
            else
            {
                TextBoxViews.ReWriteToMessageBox(universe, "Not supposed to HAPPEN");
            }



            if (tOb)
            {
                if (blocked)
                {
                    TextBoxViews.ReWriteToMessageBox(universe, "You blocked the slime's attack");
                    slime.PowerAttack = false;
                }
                else if (slime.PowerAttack)
                {
                    if (damage > 29)
                    {
                        TextBoxViews.ReWriteToMessageBox(universe, "The slime hits you for a whopping " + damage + " damage! Thats a lot of damage.");
                    }
                    else
                    {
                        TextBoxViews.ReWriteToMessageBox(universe, "The slime hits you for a whopping " + damage + " damage!");
                    }
                    slime.PowerAttack  = false;
                    adventurer.Health -= damage;
                }
                else
                {
                    TextBoxViews.ReWriteToMessageBox(universe, $"The slime deals {damage} damage.");
                    adventurer.Health = adventurer.Health - damage;
                }
            }
        }
Esempio n. 27
0
        /// <summary>
        /// Checks what quest the player is on.
        /// </summary>
        /// <param name="universe"></param>
        /// <param name="adventurer"></param>
        public static void CheckPlayerQuest(Universe universe, Adventurer adventurer)
        {
            foreach (var quest in adventurer.QuestCompletion)
            {
                if (quest.Key == adventurer.CurrentQuest)
                {
                    switch (adventurer.CurrentQuest)
                    {
                    case Adventurer.Quest.MeetTheOldMan:
                        TextBoxViews.DisplayQuest("Go talk to the old man");
                        if (quest.Value && !adventurer.QuestDone[0])
                        {
                            Console.SetCursorPosition(110, 24);
                            Console.Write("Completed Quest");

                            Thread.Sleep(1000);

                            Console.SetCursorPosition(110, 24);
                            Console.Write("               ");

                            adventurer.CurrentQuest = Adventurer.Quest.GoHome;
                            adventurer.QuestDone[0] = true;
                        }
                        break;

                    case Adventurer.Quest.GoHome:
                        TextBoxViews.DisplayQuest("Go back to your house");
                        if (quest.Value && !adventurer.QuestDone[1])
                        {
                            Console.SetCursorPosition(110, 24);
                            Console.Write("Completed Quest");

                            Thread.Sleep(1000);

                            Console.SetCursorPosition(110, 24);
                            Console.Write("               ");

                            adventurer.CurrentQuest = Adventurer.Quest.GoShopping;

                            adventurer.QuestDone[1] = true;
                        }
                        break;

                    case Adventurer.Quest.GoShopping:
                        TextBoxViews.DisplayQuest("Go buy some supplies");
                        if (quest.Value && !adventurer.QuestDone[2])
                        {
                            Console.SetCursorPosition(110, 24);
                            Console.Write("Completed Quest");

                            Thread.Sleep(1000);

                            Console.SetCursorPosition(110, 24);
                            Console.Write("               ");


                            adventurer.CurrentQuest = Adventurer.Quest.LeaveHome;
                            adventurer.QuestDone[2] = true;
                        }
                        break;

                    case Adventurer.Quest.LeaveHome:
                        TextBoxViews.DisplayQuest("Leave town");
                        if (quest.Value && !adventurer.QuestDone[3])
                        {
                            Console.SetCursorPosition(110, 24);
                            Console.Write("Completed Quest");

                            Thread.Sleep(1000);

                            Console.SetCursorPosition(110, 24);
                            Console.Write("               ");

                            adventurer.CurrentQuest = Adventurer.Quest.TheNewGuyInTown;
                            adventurer.QuestDone[3] = true;
                        }
                        break;


                    case Adventurer.Quest.TheNewGuyInTown:
                        TextBoxViews.DisplayQuest("Go to town 2");
                        if (quest.Value && !adventurer.QuestDone[4])
                        {
                            Console.SetCursorPosition(110, 24);
                            Console.Write("Completed Quest");

                            Thread.Sleep(1000);

                            Console.SetCursorPosition(110, 24);
                            Console.Write("               ");

                            adventurer.CurrentQuest = Adventurer.Quest.DeliverTheParcel;
                            adventurer.QuestDone[4] = true;
                        }
                        break;

                    case Adventurer.Quest.DeliverTheParcel:
                        TextBoxViews.DisplayQuest("Find the parcel in Town");
                        if (quest.Value && !adventurer.QuestDone[5])
                        {
                            Console.SetCursorPosition(110, 24);
                            Console.Write("Completed Quest");

                            Thread.Sleep(1000);

                            Console.SetCursorPosition(110, 24);
                            Console.Write("               ");

                            adventurer.CurrentQuest = Adventurer.Quest.FightTheCaveTrio;
                            adventurer.QuestDone[5] = true;
                        }
                        break;

                    case Adventurer.Quest.FightTheCaveTrio:
                        TextBoxViews.DisplayQuest("Go fight the trio!");
                        if (quest.Value && !adventurer.QuestDone[6])
                        {
                            Console.SetCursorPosition(110, 24);
                            Console.Write("Completed Quest");

                            Thread.Sleep(1000);

                            Console.SetCursorPosition(110, 24);
                            Console.Write("               ");

                            adventurer.CurrentQuest = Adventurer.Quest.None;

                            adventurer.QuestDone[6] = true;
                            adventurer.playerWin    = true;
                        }
                        break;

                    default:
                        break;
                    }
                }
            }
        }
Esempio n. 28
0
        /// <summary>
        /// Checks the player's position Handles BOTH mainworld and House Locations
        /// </summary>
        /// <param name="universe"></param>
        /// <param name="adventurer"></param>
        public static void CheckPlayerPosition(Universe universe, Adventurer adventurer)
        {
            if (!adventurer.InaHouse)
            {
                switch (adventurer.MapLocation)
                {
                case Humanoid.Location.MainWorld:
                    foreach (Towns town in universe.TownList)
                    {
                        if (adventurer.Ypos == town.Ypos && adventurer.Xpos == town.Xpos)
                        {
                            TextBoxViews.RedrawBox(universe, 6);
                            TextBoxViews.WriteToEvent(adventurer.MapLocation.ToString());


                            TextBoxViews.ClearMapBox();
                            adventurer.MapLocation = town.TownLocName;
                            adventurer.PreviousLocations.Add(adventurer.MapLocation);
                            adventurer.Xpos = 40;
                            adventurer.Ypos = 48;
                        }
                    }
                    TextBoxViews.RedrawBox(universe, 6);
                    TextBoxViews.WriteToEvent(adventurer.MapLocation.ToString());
                    break;

                case Humanoid.Location.TutTown:
                    if (adventurer.Ypos >= 50)
                    {
                        TextBoxViews.ClearMapBox();
                        adventurer.MapLocation = Humanoid.Location.MainWorld;
                        adventurer.Xpos        = universe.TownList[0].Xpos;
                        adventurer.Ypos        = universe.TownList[0].Ypos;
                        adventurer.PreviousLocations.Add(adventurer.MapLocation);
                        Map.QuestTrigger(adventurer, universe, Adventurer.Quest.LeaveHome);
                        TextBoxViews.RedrawBox(universe, 6);
                        TextBoxViews.WriteToEvent(adventurer.MapLocation.ToString());
                    }
                    foreach (var house in universe.HouseList)
                    {
                        if ((adventurer.Xpos == house.EnterPosition[0]) && (adventurer.Ypos == house.EnterPosition[1]) && (house.HouseLoc == Humanoid.Location.TutTown))
                        {
                            adventurer.InaHouse    = true;
                            house.PlayerInside     = true;
                            adventurer.Xpos        = 56;
                            adventurer.Ypos        = 32;
                            adventurer.InHouseName = house.HouseName;
                            TextBoxViews.RedrawBox(universe, 6);
                            TextBoxViews.WriteToEvent(adventurer.InHouseName.ToString());

                            TextBoxViews.ClearMapBox();
                        }
                    }
                    TextBoxViews.RedrawBox(universe, 6);
                    TextBoxViews.WriteToEvent(adventurer.MapLocation.ToString());

                    break;

                case Humanoid.Location.CherryGrove:
                    Map.QuestTrigger(adventurer, universe, Adventurer.Quest.TheNewGuyInTown);
                    if (adventurer.Ypos >= 50)
                    {
                        TextBoxViews.ClearMapBox();
                        adventurer.MapLocation = Humanoid.Location.MainWorld;

                        adventurer.Xpos = universe.TownList[1].Xpos;
                        adventurer.Ypos = universe.TownList[1].Ypos;
                        adventurer.PreviousLocations.Add(adventurer.MapLocation);
                    }
                    foreach (var house in universe.HouseList)
                    {
                        if ((adventurer.Xpos == house.EnterPosition[0]) && (adventurer.Ypos == house.EnterPosition[1]) && (house.HouseLoc == Humanoid.Location.CherryGrove))
                        {
                            adventurer.InaHouse    = true;
                            house.PlayerInside     = true;
                            adventurer.Xpos        = 56;
                            adventurer.Ypos        = 32;
                            adventurer.InHouseName = house.HouseName;

                            TextBoxViews.RedrawBox(universe, 6);
                            TextBoxViews.WriteToEvent(adventurer.InHouseName.ToString());

                            TextBoxViews.ClearMapBox();
                        }
                    }
                    TextBoxViews.RedrawBox(universe, 6);
                    TextBoxViews.WriteToEvent(adventurer.MapLocation.ToString());
                    break;

                case Humanoid.Location.Cave:
                    if (adventurer.Ypos >= 50)
                    {
                        TextBoxViews.ClearMapBox();
                        adventurer.MapLocation = Humanoid.Location.MainWorld;


                        adventurer.Xpos = universe.TownList[3].Xpos;
                        adventurer.Ypos = universe.TownList[3].Ypos;
                        adventurer.PreviousLocations.Add(adventurer.MapLocation);
                    }

                    break;

                default:
                    break;
                }
            }
            else if (adventurer.InaHouse)
            {
                switch (adventurer.InHouseName)
                {
                case House.houseName.None:
                    break;

                case House.houseName.PlayerHome:

                    Map.QuestTrigger(adventurer, universe, Adventurer.Quest.GoHome);

                    if (adventurer.Xpos == 56 && adventurer.Ypos == 33)
                    {
                        adventurer.InaHouse = false;

                        foreach (var house in universe.HouseList)
                        {
                            if (adventurer.InHouseName == house.HouseName)
                            {
                                house.PlayerInside     = false;
                                adventurer.InHouseName = House.houseName.None;

                                adventurer.Xpos = house.EnterPosition[0];
                                adventurer.Ypos = house.EnterPosition[1] + 1;
                            }
                        }
                        TextBoxViews.ClearMapBox();
                    }
                    break;

                case House.houseName.HealHouse:
                    if (adventurer.Xpos == 56 && adventurer.Ypos == 33)
                    {
                        adventurer.InaHouse = false;

                        foreach (var house in universe.HouseList)
                        {
                            if (adventurer.InHouseName == house.HouseName)
                            {
                                house.PlayerInside     = false;
                                adventurer.InHouseName = House.houseName.None;

                                adventurer.Xpos = house.EnterPosition[0];
                                adventurer.Ypos = house.EnterPosition[1] + 1;
                            }
                        }
                        TextBoxViews.ClearMapBox();
                    }
                    break;

                case House.houseName.Market:
                    if (adventurer.Xpos == 56 && adventurer.Ypos == 33)
                    {
                        adventurer.InaHouse = false;

                        foreach (var house in universe.HouseList)
                        {
                            if (adventurer.InHouseName == house.HouseName)
                            {
                                house.PlayerInside     = false;
                                adventurer.InHouseName = House.houseName.None;

                                adventurer.Xpos = house.EnterPosition[0];
                                adventurer.Ypos = house.EnterPosition[1] + 1;
                            }
                        }
                        TextBoxViews.ClearMapBox();
                    }
                    break;

                case House.houseName.CerriHouse:

                    if (adventurer.Xpos == 56 && adventurer.Ypos == 33)
                    {
                        adventurer.InaHouse = false;

                        foreach (var house in universe.HouseList)
                        {
                            if (adventurer.InHouseName == house.HouseName)
                            {
                                house.PlayerInside     = false;
                                adventurer.InHouseName = House.houseName.None;

                                adventurer.Xpos = house.EnterPosition[0];
                                adventurer.Ypos = house.EnterPosition[1] + 1;
                            }
                        }
                        TextBoxViews.ClearMapBox();
                    }
                    break;

                case House.houseName.AmastaHouse:
                    if (adventurer.Xpos == 56 && adventurer.Ypos == 33)
                    {
                        adventurer.InaHouse = false;

                        foreach (var house in universe.HouseList)
                        {
                            if (adventurer.InHouseName == house.HouseName)
                            {
                                house.PlayerInside     = false;
                                adventurer.InHouseName = House.houseName.None;

                                adventurer.Xpos = house.EnterPosition[0];
                                adventurer.Ypos = house.EnterPosition[1] + 1;
                            }
                        }
                        TextBoxViews.ClearMapBox();
                    }
                    break;

                case House.houseName.AristaHouse:
                    if (adventurer.Xpos == 56 && adventurer.Ypos == 33)
                    {
                        adventurer.InaHouse = false;

                        foreach (var house in universe.HouseList)
                        {
                            if (adventurer.InHouseName == house.HouseName)
                            {
                                house.PlayerInside     = false;
                                adventurer.InHouseName = House.houseName.None;

                                adventurer.Xpos = house.EnterPosition[0];
                                adventurer.Ypos = house.EnterPosition[1] + 1;
                            }
                        }
                        TextBoxViews.ClearMapBox();
                    }
                    break;

                default:
                    break;
                }
            }
        }
Esempio n. 29
0
 public virtual string NPCTalkResponse(Adventurer adventurer)
 {
     return($"{greeting} , {adventurer.Name}");
 }
Esempio n. 30
0
        public static bool movement(Adventurer adventurer, Universe universe)
        {
            ConsoleKeyInfo keyPress;

            keyPress = Console.ReadKey();
            bool playing = true;

            int[] lastPosition = new int[2];

            lastPosition[0] = adventurer.Xpos;
            lastPosition[1] = adventurer.Ypos;

            Console.SetCursorPosition(lastPosition[0], lastPosition[1]);
            Console.Write(" ");
            switch (keyPress.Key)
            {
            case ConsoleKey.LeftArrow:
                adventurer.LookDirection = Humanoid.Direction.LEFT;

                if (adventurer.LastDirection == adventurer.LookDirection)
                {
                    MovementRestriction(adventurer, universe, adventurer.LookDirection);
                }

                adventurer.LastDirection = adventurer.LookDirection;

                Console.SetCursorPosition(adventurer.Xpos, adventurer.Ypos);
                Console.Write("☺");
                break;

            case ConsoleKey.UpArrow:
                adventurer.LookDirection = Humanoid.Direction.UP;

                if (adventurer.LastDirection == adventurer.LookDirection)
                {
                    MovementRestriction(adventurer, universe, adventurer.LookDirection);
                }

                adventurer.LastDirection = adventurer.LookDirection;
                Console.SetCursorPosition(adventurer.Xpos, adventurer.Ypos);
                Console.Write("☺");
                break;

            case ConsoleKey.RightArrow:

                adventurer.LookDirection = Humanoid.Direction.RIGHT;

                if (adventurer.LastDirection == adventurer.LookDirection)
                {
                    MovementRestriction(adventurer, universe, adventurer.LookDirection);
                }

                adventurer.LastDirection = adventurer.LookDirection;
                Console.SetCursorPosition(adventurer.Xpos, adventurer.Ypos);
                Console.Write("☺");
                break;

            case ConsoleKey.DownArrow:
                adventurer.LookDirection = Humanoid.Direction.DOWN;

                if (adventurer.LastDirection == adventurer.LookDirection)
                {
                    MovementRestriction(adventurer, universe, adventurer.LookDirection);
                }

                adventurer.LastDirection = adventurer.LookDirection;
                Console.SetCursorPosition(adventurer.Xpos, adventurer.Ypos);
                Console.Write("☺");
                break;

            case ConsoleKey.NumPad0:
                break;

            case ConsoleKey.NumPad1:
                NPCTalk(adventurer, universe);
                break;

            case ConsoleKey.NumPad2:
                TextBoxViews.DisplayTownDesc(universe);
                break;

            case ConsoleKey.NumPad3:
                PlayerLocationss(adventurer, universe);
                break;

            case ConsoleKey.NumPad4:
                InventoryManagment(adventurer, universe);
                break;

            case ConsoleKey.NumPad5:
                Check.CheckAndPickupItem(universe, adventurer);
                break;

            case ConsoleKey.NumPad6:
                break;

            case ConsoleKey.NumPad7:
                break;

            case ConsoleKey.NumPad8:
                break;

            case ConsoleKey.NumPad9:
                playing = false;
                break;


            case ConsoleKey.D1:
                NPCTalk(adventurer, universe);
                break;

            case ConsoleKey.D2:
                TextBoxViews.DisplayTownDesc(universe);
                break;

            case ConsoleKey.D3:
                PlayerLocationss(adventurer, universe);
                break;

            case ConsoleKey.D4:
                InventoryManagment(adventurer, universe);
                break;

            case ConsoleKey.D5:
                Check.CheckAndPickupItem(universe, adventurer);
                break;

            case ConsoleKey.D9:
                playing = false;
                break;

            default:
                break;
            }


            return(playing);
        }