Esempio n. 1
0
    private static bool ConfirmData(string Name, Race race, Stats stats)
    {
        string Ans;

        while (true)
        {
            Console.WriteLine("Name: {0}", Name);
            Console.WriteLine("Race: {0}", StringModify.FirstToUpper(race.race));
            Console.WriteLine("Strength: {0}", stats.Strength);
            Console.WriteLine("Ability: {0}", stats.Ability);
            Console.WriteLine("Resistance: {0}", stats.Resistance);
            Console.WriteLine("Armor: {0}", stats.Armor);
            Console.WriteLine("Firepower: {0}\n", stats.Firepower);
            Console.WriteLine("Done?");
            Console.WriteLine("1. Yes");
            Console.WriteLine("2. No");

            Ans = Console.ReadLine();
            Ans = YesNoInput.Parse(Ans);
            if (Ans.Equals("yes"))
            {
                return(true);
            }
            else if (Ans.Equals("no"))
            {
                return(false);
            }
            else
            {
                Console.Clear();
                Console.WriteLine("Invalid command\n");
            }
        }
    }
Esempio n. 2
0
    public void Sell()
    {
        string Name;

        while (true)
        {
            Console.WriteLine("Which item do you want to sell? (Type ENTER on empty item to return)");
            foreach (var It in this.H.Bag.Inventory)
            {
                Console.WriteLine("> {0} ({1}) - Selling price: {2}", StringModify.FirstToUpper(It.Name), StringModify.FirstToUpper(It.Type), It.Value / 2);
            }

            Name = Console.ReadLine();
            Name = Name.ToLower();
            if (Name.Equals(""))
            {
                Console.Clear();
                return;
            }
            Item Item = this.Find(this.H, Name);
            Console.Clear();
            if (Item == null)
            {
                Console.WriteLine("Item not found\n");
            }
            else
            {
                H.DropItem(Item);
                H.Gold += (Item.Value / 2);
                Console.WriteLine("{0} sold\n", StringModify.FirstToUpper(Item.Name));
            }
        }
    }
Esempio n. 3
0
    public static void Show(Hero H)
    {
        Console.WriteLine("Name: {0}\tRace: {1}", H.Name, StringModify.FirstToUpper(H.Race));
        Console.WriteLine("HP: {0}\t\tMP: {1}", H.HP, H.MP);

        Console.WriteLine("\nStrength: {0}\tFirepower: {1}", H.Strength, H.Firepower);
        Console.WriteLine("Resistance: {0}\tArmor: {1}", H.Resistance, H.Armor);
        Console.WriteLine("Ability: {0}", H.Ability);

        Console.WriteLine("\nEXP: {0}", H.Exp);
        Console.WriteLine("Level: {0}", H.Level);
        Console.WriteLine("Gold: {0}", H.Gold);
        Console.WriteLine("Items:");
        foreach (var item in H.Bag.Inventory)
        {
            Console.WriteLine("> {0}", StringModify.FirstToUpper(item.Name));
        }

        Console.WriteLine("\nEquipment:");
        Console.WriteLine("> Weapon: {0}", (H.Equip.Weapon != null ? StringModify.FirstToUpper(H.Equip.Weapon.Name) : ""));
        Console.WriteLine("> Head: {0}", (H.Equip.Head != null ? StringModify.FirstToUpper(H.Equip.Head.Name) : ""));
        Console.WriteLine("> Torso: {0}", (H.Equip.Torso != null ? StringModify.FirstToUpper(H.Equip.Torso.Name) : ""));
        Console.WriteLine("> Hand: {0}", (H.Equip.Hand != null ? StringModify.FirstToUpper(H.Equip.Hand.Name) : ""));
        Console.WriteLine("> Leg: {0}", (H.Equip.Leg != null ? StringModify.FirstToUpper(H.Equip.Leg.Name) : ""));
    }
Esempio n. 4
0
    private static void Equip(Hero H)
    {
        string Name;

        while (true)
        {
            Console.WriteLine("What item do you want to equip? (Type ENTER with empty name to return)");
            foreach (var Item in H.Bag.Inventory)
            {
                Console.WriteLine("> {0} ({1})", StringModify.FirstToUpper(Item.Name), StringModify.FirstToUpper(Item.Type));
            }

            Name = Console.ReadLine();
            Name = Name.ToLower();
            if (Name.Equals(""))
            {
                Console.Clear();
                return;
            }
            Item It = InventoryController.Find(H, Name);
            Console.Clear();
            if (It == null)
            {
                Console.WriteLine("Item not found\n");
            }
            else
            {
                H.EquipFromBag(It.Name);
                Console.WriteLine("{0} equipped\n", StringModify.FirstToUpper(It.Name));
            }
        }
    }
Esempio n. 5
0
    private void BuyArmor(List <Item> Armor)
    {
        string ArmorName;
        int    Index = new int();

        Console.Clear();
        while (true)
        {
            Console.WriteLine("Which armor do you want to buy? (Type ENTER on empty armor to return)");
            Console.WriteLine("Current gold: {0}\n", this.H.Gold);

            Console.Write("> {0} - Buying price: {1}\t", StringModify.FirstToUpper(Armor[0].Name), Armor[0].Type,
                          Armor[0].Value);
            Console.Write("> {0} - Buying price: {1}\n", StringModify.FirstToUpper(Armor[1].Name),
                          Armor[1].Value);
            for (int i = 2; i < Armor.Count; i += 2)
            {
                Console.Write("> {0} - Buying price: {1}\t\t", StringModify.FirstToUpper(Armor[i].Name),
                              Armor[i].Value);
                Console.Write("> {0} - Buying price: {1}\n", StringModify.FirstToUpper(Armor[i + 1].Name),
                              Armor[i + 1].Value);
            }

            ArmorName = Console.ReadLine();
            ArmorName = ArmorName.ToLower();

            if (ArmorName.Equals(""))
            {
                Console.Clear();
                return;
            }

            Index = this.Find(Armor, ArmorName);

            Console.Clear();
            if (Index < 0)
            {
                Console.WriteLine("Weapon not found\n");
            }
            else
            {
                Item It = new Item(Armor[Index]);
                if (this.H.Gold < It.Value)
                {
                    Console.WriteLine("Not enough gold\n");
                }
                else
                {
                    this.H.Gold -= It.Value;
                    this.H.PickItem(It);
                    Console.WriteLine("{0} bought\n",
                                      StringModify.FirstToUpper(It.Name));
                }
            }
        }
    }
Esempio n. 6
0
    private static void Unequip(Hero H)
    {
        string Part;
        bool   IsPart = false;

        while (true)
        {
            IsPart = false;
            Console.WriteLine("What part do you want to unequip? (Type ENTER on empty part to return)");
            Console.WriteLine("> Head ({0})", H.Equip.Head != null ? StringModify.FirstToUpper(H.Equip.Head.Name) : "Empty");
            Console.WriteLine("> Torso ({0})", H.Equip.Torso != null ? StringModify.FirstToUpper(H.Equip.Torso.Name) : "Empty");
            Console.WriteLine("> Hand ({0})", H.Equip.Hand != null ? StringModify.FirstToUpper(H.Equip.Hand.Name) : "Empty");
            Console.WriteLine("> Leg ({0})", H.Equip.Leg != null ? StringModify.FirstToUpper(H.Equip.Leg.Name) : "Empty");
            Console.WriteLine("> Weapon ({0})", H.Weapon != null ? StringModify.FirstToUpper(H.Weapon.Name) : "Empty");

            Part = Console.ReadLine();
            Part = Part.ToLower();
            if (Part.Equals(""))
            {
                Console.Clear();
                return;
            }
            IsPart = InventoryController.IsPart(Part);
            Console.Clear();
            if (!IsPart)
            {
                Console.WriteLine("Unknown part\n");
            }
            else
            {
                if (InventoryController.PartIsNull(H, Part))
                {
                    Console.WriteLine("You do not have any item equipped there\n");
                }
                else
                {
                    H.RemoveEquip(Part);
                    if (InventoryController.PartIsNull(H, Part))
                    {
                        Console.WriteLine("{0} unequipped\n", StringModify.FirstToUpper(Part));
                    }
                    else
                    {
                        Console.WriteLine("Error! Could not unequip {0}\n", Part);
                    }
                }
            }
        }
    }
Esempio n. 7
0
    private void BuyRanged(List <Item> Ranged)
    {
        string Weapon;
        int    Index = new int();

        while (true)
        {
            Console.WriteLine("Which weapon do you want to buy? (Type ENTER on empty weapon to return)");
            Console.WriteLine("Current gold: {0}\n", this.H.Gold);
            foreach (var weapon in Ranged)
            {
                Console.WriteLine("> {0} - Buying price: {2}", StringModify.FirstToUpper(weapon.Name), weapon.Type, weapon.Value);
            }

            Weapon = Console.ReadLine();
            Weapon = Weapon.ToLower();

            if (Weapon.Equals(""))
            {
                Console.Clear();
                return;
            }

            Index = this.Find(Ranged, Weapon);

            Console.Clear();
            if (Index < 0)
            {
                Console.WriteLine("Weapon not found\n");
            }
            else
            {
                Item It = new Item(Ranged[Index]);
                if (this.H.Gold < It.Value)
                {
                    Console.WriteLine("Not enough gold\n");
                }
                else
                {
                    this.H.Gold -= It.Value;
                    this.H.PickItem(It);
                    Console.WriteLine("{0} bought\n",
                                      StringModify.FirstToUpper(It.Name));
                }
            }
        }
    }
Esempio n. 8
0
    /* Create an item file and save it on Inventory folder */
    public static void Make(string name, string type, string category, int buff, int value)
    {
        string DirPath = "./GameData/Inventory/" + StringModify.FirstToUpper(category) + "/";

        Directory.CreateDirectory(DirPath);

        string[] Tokens   = name.Split(' ');
        string   FileName = "";

        /* Generating filename string */
        FileName = String.Join("", Tokens);

        FileName = String.Join("", DirPath, FileName, ".itm");

        FileStream Stream = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write);

        DESCryptoServiceProvider Crypto = new DESCryptoServiceProvider();

        /* This key is used only to avoid simple file editing on the enemies stats */
        Crypto.Key = ASCIIEncoding.ASCII.GetBytes("THEITEMS");
        Crypto.IV  = ASCIIEncoding.ASCII.GetBytes("THEITEMS");

        CryptoStream CrStream = new CryptoStream(Stream, Crypto.CreateEncryptor(), CryptoStreamMode.Write);

        /* Concatenating item data with comma */
        string Data = name + "," + type + "," + category + "," + buff + "," + value;

        byte[] EncodedData = ASCIIEncoding.ASCII.GetBytes(Data);

        /* Write file */
        CrStream.Write(EncodedData, 0, EncodedData.Length);

        File.SetAttributes(FileName, FileAttributes.ReadOnly);

        CrStream.Close();
        Stream.Close();
    }
Esempio n. 9
0
    /* Load item based on its name and category */
    public static Item Load(string item, string category)
    {
        /* Generate path to load item */
        string     FullPath             = String.Join("", "./GameData/Inventory/", StringModify.FirstToUpper(category), "/", item, ".itm");
        FileStream Stream               = new FileStream(FullPath, FileMode.Open, FileAccess.Read);
        DESCryptoServiceProvider Crypto = new DESCryptoServiceProvider();

        /* This key is used only to avoid simple file editing on the enemies stats */
        Crypto.Key = ASCIIEncoding.ASCII.GetBytes("THEITEMS");
        Crypto.IV  = ASCIIEncoding.ASCII.GetBytes("THEITEMS");

        CryptoStream CrStream = new CryptoStream(Stream,
                                                 Crypto.CreateDecryptor(), CryptoStreamMode.Read);

        StreamReader Reader = new StreamReader(CrStream);

        /* Read file and split tokens */
        string Data = Reader.ReadToEnd();

        Reader.Close();
        Stream.Close();

        string[] Tokens = Data.Split(',');

        /* Create item with tokens */
        int    k        = 0;
        string Name     = Tokens[k++];
        string Type     = Tokens[k++];
        string Category = Tokens[k++];
        int    Buff     = Int32.Parse(Tokens[k++]);
        int    Value    = Int32.Parse(Tokens[k++]);

        Item I = new Item(Name, Type, Category, Buff, Value);

        return(I);
    }
Esempio n. 10
0
 private void ShowMonsters(List <string> Monsters)
 {
     Console.WriteLine("Which monster do you want to battle with? (Type ENTER on empty monster to return)\n");
     Console.WriteLine("1. Random\t\t21. Ghost\t\t41. Phoenix");
     for (int i = 2; i <= 16; i++)
     {
         Console.WriteLine("{0}. {3}\t{6}{1}. {4}\t{7}{2}. {5}", i, i + 20, i + 40, StringModify.FirstToUpper(Monsters[i - 2]), StringModify.FirstToUpper(Monsters[i + 18]), StringModify.FirstToUpper(Monsters[i + 38]), Monsters[i - 2].Length < 12 ? "\t" : "",
                           Monsters[i + 18].Length < 12 ? "\t" : "");
     }
 }