示例#1
0
        public static void Run()
        {
            Console.WriteLine("*FACTORY METHOD*");
            Console.WriteLine();

            var knightFactory = new KnightFactory();
            var archerFactory = new ArcherFactory();
            var army          = new List <IFighter>
            {
                GetFighter(knightFactory),
                GetFighter(archerFactory)
            };

            army.ForEach(f => f.Attack());

            Console.WriteLine();
            Console.WriteLine("*ABSTRACT FACTORY*");
            Console.WriteLine();

            var humanBarracks  = new HumanBarracks();
            var orcBarracks    = new OrcBarracks();
            var humanCommander = new Commander(humanBarracks);
            var orcCommander   = new Commander(orcBarracks);

            humanCommander.RecruitArmy();
            orcCommander.RecruitArmy();
            humanCommander.LaunchAttack();
            orcCommander.LaunchAttack();
        }
示例#2
0
 public StandardBoardBuilder(BoardTexturePack boardTextures, PieceTexturePack pieceTextures)
 {
     BoardTextures                 = boardTextures;
     PieceTextures                 = pieceTextures;
     WhitePawnFactory              = new PawnFactory(Alliance.White, pieceTextures.WhitePawn);
     WhiteKnightFactory            = new KnightFactory(Alliance.White, pieceTextures.WhiteKnight);
     WhiteBishopFactory            = new BishopFactory(Alliance.White, pieceTextures.WhiteBishop);
     WhiteRookFactory              = new RookFactory(Alliance.White, pieceTextures.WhiteRook);
     WhiteQueenFactory             = new QueenFactory(Alliance.White, pieceTextures.WhiteQueen);
     WhiteKingFactory              = new KingFactory(Alliance.White, pieceTextures.WhiteKing);
     BlackPawnFactory              = new PawnFactory(Alliance.Black, pieceTextures.BlackPawn);
     BlackKnightFactory            = new KnightFactory(Alliance.Black, pieceTextures.BlackKnight);
     BlackBishopFactory            = new BishopFactory(Alliance.Black, pieceTextures.BlackBishop);
     BlackRookFactory              = new RookFactory(Alliance.Black, pieceTextures.BlackRook);
     BlackQueenFactory             = new QueenFactory(Alliance.Black, pieceTextures.BlackQueen);
     BlackKingFactory              = new KingFactory(Alliance.Black, pieceTextures.BlackKing);
     BasicTileFactory              = new BasicTileFactory();
     WhitePawnPromotionTileFactory = new PawnPromotionTileFactory(Alliance.White, WhiteQueenFactory);
     BlackPawnPromotionTileFactory = new PawnPromotionTileFactory(Alliance.Black, BlackQueenFactory);
 }