Esempio n. 1
0
        static void Main()
        {
            IWeapon weapon = new Sword();
            var     rnd    = new Random();

            for (var i = 0; i < bonusesAmount; i++)
            {
                var randomBonus = rnd.Next(3);
                switch (randomBonus)
                {
                case 0:
                    weapon = new Holy(weapon);
                    break;

                case 1:
                    weapon = new Sharp(weapon);
                    break;

                case 2:
                    weapon = new Agile(weapon);
                    break;

                default:
                    throw new Exception("Wrong Bonus");
                }
            }

            Console.WriteLine(weapon.GetName());
            Console.ReadKey();
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Weapon _weapon = new Sword("Mary");
            //Weapon _weapon = new Knife("Jack");
            var _long      = new Long();
            var _sharp     = new Sharp();
            var _beautiful = new Beautiful();

            _long.Decorate(_weapon);
            _sharp.Decorate(_long);
            _beautiful.Decorate(_sharp);

            _beautiful.Show();  //print message by recursive
            Console.WriteLine("Attack Power=" + _beautiful.GetAttackPower().ToString());

            Console.Read();
        }