示例#1
0
        public override void BuildLevel(int height, int width)
        {
            char sign = ' ';

            board_builder = new MagmaLevelBuilder(this.content);
            if (pick == 1)
            {
                board_builder = new IceLevelBuilder(this.content);
            }
            if (pick == 2)
            {
                board_builder = new JungleLevelBuilder(this.content);
            }

            board_builder.GenerateBackground();
            for (int i = 0; i < height; i++)
            {
                for (int j = 0; j < width; j++)
                {
                    sign = this.level_array[i, j];
                    if (sign == 'b')
                    {
                        board_builder.GenerateBorder();
                    }
                    else if (sign == '\u2588')
                    {
                        board_builder.GenerateBlock();
                    }
                    else if (sign == '$')
                    {
                        board_builder.GenerateCoin();
                    }
                    else if (sign == '/')
                    {
                        board_builder.GenerateLeftThorn();
                    }
                    else if (sign == '?')
                    {
                        board_builder.GenerateRightThorn();
                    }
                    else if (sign == '#')
                    {
                        board_builder.GenerateThorn();
                    }
                    board_builder.GenerateDoors(height, width);
                    board_builder.x += 16;
                }
                board_builder.x  = 0;
                board_builder.y += 16;
            }
            sprite_collection = board_builder.GetLevel();
            Champion.GetInstance().SetCollection(sprite_collection);
        }
示例#2
0
    void Start()
    {
        levelDirector = new LevelDirector();

        LevelBuilder simpleIceLevelBuilder   = new IceLevelBuilder();
        LevelBuilder complexFireLevelBuilder = new FireLevelBuilder();

        levelDirector.ConstructSimpleLevel(simpleIceLevelBuilder);
        levelDirector.ConstructComplexLevel(complexFireLevelBuilder);

        Level simpleIceLevel   = simpleIceLevelBuilder.GetLevel();
        Level complexFireLevel = complexFireLevelBuilder.GetLevel();

        simpleIceLevel.PrintLevel();
        complexFireLevel.PrintLevel();
    }