static public void emulation() { IUnitFactory factory; Console.WriteLine("Enter race\n1 Humans\n2 Undead"); string factoryInput = Console.ReadLine(); if (factoryInput == "1") { factory = new HumanFactory(); } else if (factoryInput == "2") { factory = new UndeadFactory(); } else { throw new Exception(); } Application app = new Application(factory); bool isChoosing = true; while (isChoosing) { Console.WriteLine("1 Create workers\n2 Create light units\n3 Create hero unit\n4 Exit"); string unitInput = Console.ReadLine(); switch (unitInput) { case "1": app.CreateWorkerUnits(UnitsEnter()); break; case "2": app.CreateLightUnits(UnitsEnter()); break; case "3": app.CreateHero(); break; case "4": isChoosing = false; break; } } app.HeroSpeak(); app.HeroUserAbility(); app.LighTUnitAttack(20); }
static void Main(string[] args) { AbstractFactory.AbstractFactory abstractFactoryHuman = new HumanFactory(); abstractFactoryHuman.CreateArmy(); abstractFactoryHuman.CreateRace(); abstractFactoryHuman.CreateResource(); AbstractFactory.AbstractFactory abstractFactoryUndead = new UndeadFactory(); abstractFactoryUndead.CreateArmy(); abstractFactoryUndead.CreateRace(); abstractFactoryUndead.CreateResource(); }
static void Main(string[] args) { try { Console.WriteLine("想要玩一款游戏,必须4大元素备齐"); { IRace race = new Undead(); IArmy army = new UndeadArmy(); IHero hero = new UndeadHero(); IResource resource = new UndeadResource(); //1 对象转移,屏蔽细节,让使用者更轻松 //2 对象簇的工厂 } { //System.Data.SqlClient.SqlClientFactory FactoryAbstract undeadFactory = new UndeadFactory(); IRace race = undeadFactory.CreateRace(); // new Undead(); IArmy army = undeadFactory.CreateArmy(); //new UndeadArmy(); IHero hero = undeadFactory.CreateHero(); //new UndeadHero(); IResource resource = undeadFactory.CreateResource(); //new UndeadResource(); } { FactoryAbstract humanFactory = new HumanFactory(); IRace race = humanFactory.CreateRace(); IArmy army = humanFactory.CreateArmy(); IHero hero = humanFactory.CreateHero(); IResource resource = humanFactory.CreateResource(); } { FactoryAbstract humanFactory = new ORCFactory(); IRace race = humanFactory.CreateRace(); IArmy army = humanFactory.CreateArmy(); IHero hero = humanFactory.CreateHero(); IResource resource = humanFactory.CreateResource(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.Read(); }