Exemple #1
0
        public void GenerateItem()
        {
            StringBuilder imageSourcePath = new StringBuilder();
            string        enchantedString;

            imageSourcePath.Append("/Images/item");
            Random generateRandom = new Random();
            int    randomNumber   = PlayerStats.RandomNumber(0, 100);

            if (randomNumber <= 49)
            {
                Type = "Weapon";
                imageSourcePath.Append(Type);
                if (randomNumber <= 25)
                {
                    WeaponType = "Magical";
                    imageSourcePath.Append("M");
                }
                else
                {
                    WeaponType = "Physical";
                    imageSourcePath.Append("P");
                }
                double randomNum = generateRandom.NextDouble();
                Damage = (int)Math.Ceiling(PlayerStats.PlayerLevel + randomNum * PlayerStats.PlayerLevel);
            }
            else
            {
                randomNumber = PlayerStats.RandomNumber(0, 100);
                if (randomNumber <= 33)
                {
                    Type = "Shoes";
                }
                else if ((randomNumber > 33) && (randomNumber < 66))
                {
                    Type = "Hat";
                }
                else if (randomNumber >= 66)
                {
                    Type = "Armor";
                }
                WeaponType = "";
                imageSourcePath.Append(Type);
            }

            randomNumber = PlayerStats.RandomNumber(0, 100);
            if (randomNumber < 80)
            {
                Enchanted       = false;
                enchantedString = "Enchanted";
            }
            else
            {
                Enchanted = true;
                imageSourcePath.Append("Enchanted");
                enchantedString = "";
            }

            int upperBorder = (int)Math.Ceiling(PlayerStats.PlayerLevel / 4f);

            randomNumber = PlayerStats.RandomNumber(1, upperBorder);
            GoldCost     = randomNumber;

            int pictureNumber = PlayerStats.RandomNumber(1, PlayerStats.NumberOfItemImages[Type + WeaponType + enchantedString] + 1);

            imageSourcePath.Append(pictureNumber);

            upperBorder  = (int)Math.Ceiling(PlayerStats.PlayerLevel / 2f);
            randomNumber = PlayerStats.RandomNumber(0, upperBorder);
            Intelligence = randomNumber;
            randomNumber = PlayerStats.RandomNumber(0, upperBorder);
            Strength     = randomNumber;
            randomNumber = PlayerStats.RandomNumber(0, upperBorder);
            Stamina      = randomNumber;
            randomNumber = PlayerStats.RandomNumber(0, upperBorder);
            CritChance   = randomNumber;

            if (Enchanted)
            {
                Intelligence += PlayerStats.PlayerLevel;
                Strength     += PlayerStats.PlayerLevel;
                Stamina      += PlayerStats.PlayerLevel;
                CritChance   += PlayerStats.PlayerLevel;
            }
            imageSourcePath.Append("Image.png");
            ImageSource = imageSourcePath.ToString();
        }