Exemple #1
0
        static void Main(string[] args)
        {
            var villager = new Villager();

            Console.WriteLine("--- VILLAGER ---");
            Console.WriteLine($"Original value of Villager's NbEmeralds: {villager.NbEmeralds}");
            villager.Trade();
            villager.PrintNbEmeralds();
            Console.WriteLine();

            var farmer = new Farmer(10);

            Console.WriteLine("--- FARMER ---");
            Console.WriteLine($"Original value of Farmer's NbEmeralds: {farmer.NbEmeralds}");
            farmer.Trade();
            farmer.PrintNbEmeralds();
            farmer.PlantSeeds();
            farmer.HarvestSeeds();
            Console.WriteLine();

            Console.WriteLine("--- WEAPONSMITH ---");
            var weaponSmith = new WeaponSmith();

            weaponSmith.CraftWeapon();
            weaponSmith.Attack();
            Console.WriteLine($"Original value of Farmer's NbEmeralds: {weaponSmith.NbEmeralds}");
            weaponSmith.Trade();
            weaponSmith.PrintNbEmeralds();
            Console.WriteLine();
        }
        static public void Run()
        {
            Console.WriteLine("------------FactoryMethod------------");
            Smith smith = new ArmorSmith();
            Item  item  = smith.Create();

            item.Equip();

            smith = new WeaponSmith();
            item  = smith.Create();
            item.Equip();
        }
Exemple #3
0
        static void Main(string[] args)
        {
            #region Strategy
            //Hero heroAxe = new Hero(new Axe(damage: 90));
            //Hero heroBlade = new Hero(new Blade(damage: 95));

            //int monsterDef = 75;

            //Console.WriteLine($"Axe: {heroAxe.Attack(monsterDef)}");
            //Console.WriteLine($"Axe: {heroBlade.Attack(monsterDef)}");
            #endregion

            #region Factory Method
            //Necromancer necromancer = new Necromancer();
            //Undead undead = necromancer.RaiseUndead<Sceleton>();
            #endregion

            #region TamplateMethod

            ArmorSmith  aSmith = new ArmorSmith();
            WeaponSmith wSmith = new WeaponSmith();

            aSmith.ForgeGear();
            Console.WriteLine("Armor Ready!!!\n");

            wSmith.ForgeGear();
            Console.WriteLine("Weapon Ready!!!\n");

            #endregion

            #region Builder

            //string player = "Me";
            //string target = "Foe";
            //string world = "sand";

            //SpellDirector lol = new SpellDirector();
            //SpellBuffBuilder builder = new SpellBuffBuilder(player, target, world);
            //lol.Builder = builder;
            //lol.BuildSpell();
            //builder.GetSpell();

            #endregion

            #region Abstract Factory

            AbstractFactory statsFactory = new StatsFactory();
            IncreasePotions potion       = statsFactory.GetIncreasePotion();
            Console.WriteLine(potion.Effect);

            #endregion

            #region Singleton

            Team team = Team.GetTeam();
            team.AddMember(new TeamMember());

            #endregion

            Console.ReadLine();
        }