示例#1
0
        public ItemWeapon DropWeapon()
        {
            ItemWeapon temp = arma;

            arma = null;
            return(temp);
        }
示例#2
0
        public void EquipItem(int num)
        {
            Item item = bag[num];

            if (item.GetType().BaseType == typeof(ItemEquipable))
            {
                if (item.GetType() == typeof(ItemWeapon))
                {
                    if (arma == null)
                    {
                        Program.buffer.InsertText("Te has equipado " + item.GetName());
                        arma     = (ItemWeapon)item;
                        bag[num] = null;
                    }
                    else
                    {
                        Program.buffer.InsertText("Te has equipado " + item.GetName());
                        Program.buffer.InsertText("Te has desequipado " + arma.GetName());
                        ItemWeapon temp = arma;
                        arma     = (ItemWeapon)item;
                        bag[num] = temp;
                    }
                }
                else if (item.GetType() == typeof(ItemGema))
                {
                    bool check = true;
                    for (int i = 0; i < gemas.Length; i++)
                    {
                        if (gemas[i] == null)
                        {
                            Program.buffer.InsertText("Te has equipado " + item.GetName());
                            gemas[i] = (ItemGema)item;
                            bag[num] = null;
                            i        = bag.Length;
                            check    = false;
                        }
                    }
                    if (check)
                    {
                        Program.buffer.InsertText("¿Que gema quieres desequiparte?");
                        ListOfGems();
                        Program.buffer.PrintBackground();
                        Program.buffer.PrintText(Program.buffer.height - 3);
                        Program.buffer.Print(1, 0, "PRINCIPAL");
                        Program.buffer.Print(1, Program.buffer.height - 2, ">");
                        Program.SmallMap();
                        Program.buffer.PrintScreen();
                        Console.SetCursorPosition(2, Program.buffer.height - 2);

                        bool obj = int.TryParse(Console.ReadLine(), out int num1);
                        if (obj && num1 >= 0 && num1 < gemas.Length && gemas[num1] != null)
                        {
                            Program.buffer.InsertText("Te has equipado " + item.GetName());
                            Program.buffer.InsertText("Te has desequipado " + item.GetName());
                            ItemGema temp = gemas[num1];
                            gemas[num1] = (ItemGema)item;
                            bag[num]    = temp;
                        }
                        else if (!obj)
                        {
                            Program.buffer.InsertText("Tiene que ser un numero");
                        }
                        else
                        {
                            Program.buffer.InsertText("Esa posicion no es válida");
                        }
                    }
                }
                else if (item.GetType() == typeof(ItemArmor))
                {
                    if (armadura == null)
                    {
                        Program.buffer.InsertText("Te has equipado " + item.GetName());
                        armadura = (ItemArmor)bag[num];
                        bag[num] = null;
                    }
                    else
                    {
                        Program.buffer.InsertText("Te has equipado " + item.GetName());
                        Program.buffer.InsertText("Te has desequipado " + armadura.GetName());
                        ItemArmor temp = armadura;
                        armadura = (ItemArmor)item;
                        bag[num] = temp;
                    }
                }
            }
            else
            {
                Program.buffer.InsertText("Este objeto no es equipable");
            }
        }
示例#3
0
        public void PickItem(int num)
        {
            Item item = currentRoom.GetRoomItems()[num];

            if (item.GetType().BaseType == typeof(ItemEquipable))
            {
                if (!FilledGemas() && item.GetType() == typeof(ItemGema))
                {
                    for (int i = 0; i < gemas.Length; i++)
                    {
                        if (gemas[i] == null)
                        {
                            gemas[i] = (ItemGema)currentRoom.DropItem(num);
                            Program.buffer.InsertText("Te has equipado " + item.GetName());
                            i = bag.Length;
                        }
                    }
                }
                else if (GetWeapon() == null && item.GetType() == typeof(ItemWeapon))
                {
                    arma = (ItemWeapon)currentRoom.DropItem(num);
                    Program.buffer.InsertText("Te has equipado " + item.GetName());
                }
                else if (GetArmor() == null && item.GetType() == typeof(ItemArmor))
                {
                    armadura = (ItemArmor)currentRoom.DropItem(num);
                    Program.buffer.InsertText("Te has equipado " + item.GetName());
                }
                else if (!FilledBag())
                {
                    for (int i = 0; i < bag.Length; i++)
                    {
                        if (bag[i] == null)
                        {
                            bag[i] = currentRoom.DropItem(num);
                            Program.buffer.InsertText("Has guardado en la mochila " + item.GetName());
                            i = bag.Length;
                        }
                    }
                }
                else
                {
                    Program.buffer.InsertText("Tienes la mochila llena");
                }
            }
            else
            {
                if (!FilledBag())
                {
                    for (int i = 0; i < bag.Length; i++)
                    {
                        if (bag[i] == null)
                        {
                            bag[i] = currentRoom.DropItem(num);
                            Program.buffer.InsertText("Has guardado en la mochila " + item.GetName());
                            i = bag.Length;
                        }
                    }
                }
                else
                {
                    Program.buffer.InsertText("Tienes la mochila llena");
                }
            }
        }