Esempio n. 1
0
        public Level(SpriteBatch spritebatch, Texture2D[] tileTextures, byte[,] tileArray, Texture2D enemyTexture, Vector2[] enemyPositions, Texture2D trapTexture, Vector2[] trapPositions, int levelNr)
        {
            OrangeTileTexture = tileTextures[0];
            GreenTileTexture  = tileTextures[1];
            SpriteBatch       = spritebatch;
            TileArray         = tileArray;
            EnemyTexture      = enemyTexture;
            EnemyPositions    = enemyPositions;
            TrapTexture       = trapTexture;
            TrapPositions     = trapPositions;
            LevelNr           = levelNr;

            Blokken = new Blok[Columns, Rows];

            Enemies.Add(Enemy1);
            Enemies.Add(Enemy2);
            Traps.Add(Trap1);

            TrapAnimation  = new ObjectAnimation(TrapTexture, SpriteBatch, TrapPositions[0], 120, 400, 6, 60, Color.WhiteSmoke, .7f, true, 1, new int[] { 0, 0, 0, 0, 0, 0 }, 0);
            TrapAnimation2 = new ObjectAnimation(TrapTexture, SpriteBatch, TrapPositions[1], 120, 400, 6, 60, Color.WhiteSmoke, .7f, true, 1, new int[] { 0, 0, 0, 0, 0, 0 }, 0);
            TrapAnimation3 = new ObjectAnimation(TrapTexture, SpriteBatch, TrapPositions[2], 120, 400, 6, 60, Color.WhiteSmoke, .7f, true, 1, new int[] { 0, 0, 0, 0, 0, 0 }, 0);

            CreateLevel();

            CurrentBoard = this;

            if (levelNr == 2)                // kan zonder levelNr als je traps en enemies meegeeft met Level Object
            {
                Traps.Clear();               //clear enemies en traps van vorige level voor je nieuwe level start
                Enemies.Clear();
                Enemies.Add(Enemy1);
                Enemies.Add(Enemy2);
                CreateLevel2();
            }
        }
Esempio n. 2
0
        private void InitBlokkenForLevel()
        {
            for (int x = 0; x < Columns; x++)
            {
                for (int y = 0; y < Rows; y++)
                {
                    Vector2 tilePosition  = new Vector2(x * OrangeTileTexture.Width, y * OrangeTileTexture.Height);
                    Vector2 tile2Position = new Vector2(x * GreenTileTexture.Width, y * GreenTileTexture.Height);

                    if (TileArray[y, x] == 1)
                    {
                        Blokken[x, y] = new Blok(OrangeTileTexture, tilePosition, SpriteBatch, true);
                    }
                    if (TileArray[y, x] == 2)
                    {
                        Blokken[x, y] = new Blok(GreenTileTexture, tile2Position, SpriteBatch, true);                      // maak nieuwe klasse met appart blok
                    }
                }
            }
        }