Beispiel #1
0
Datei: Game.cs Projekt: nadita/vj
        public void InitializeGameObjectValues()
        {
            //Initializing
            this.bomberman_is_dead = false;
            this.level_finished = false;
            this.end_time = false;
            this.actual_time = 180;
            this.level_finished = false;

            actualStage = new Stage();
            Level actualLevel = XmlMngr.GetInstance().levels[actual_stage];

            //Loading Blocks Data
            foreach (string[] block in actualLevel.blocks)
            {
                Cell newBlock = new Cell(Cell.BLOCK, Cell.NONE);
                int x = int.Parse(block[0]);
                int y = int.Parse(block[1]);
                actualStage.addItem(newBlock, x, y);
            }

            //Loading PowerUps Data
            foreach (string[] powerUp in actualLevel.powerUps)
            {
                Cell newPowerUp = new Cell(Cell.POWERUP, powerUp[0]);
                int x = int.Parse(powerUp[1]);
                int y = int.Parse(powerUp[2]);
                actualStage.addItem(newPowerUp, x, y);
            }

            //Loading Enemies Data
            foreach (string[] enemy in actualLevel.enemies)
            {
                int x = int.Parse(enemy[1]);
                int y = int.Parse(enemy[2]);

                Enemy newEnemy = new Enemy(enemy[0], x, y);
                actualStage.addEnemy(newEnemy);
            }
        }
Beispiel #2
0
        public void MoveEnemy(Enemy enemy)
        {
            if ((enemy.position_X + 1) % 2 != 0 && (enemy.position_Z) % 2 != 0
                && (enemy.enemy_direction == Constants.RIGHT || enemy.enemy_direction == Constants.LEFT))
            {
                enemy.enemy_direction = Constants.UP;
                bb.RotateEntity(enemy.image, 0, 180, 0);
            }
            else
            {
                if ((enemy.position_X) % 2 != 0 && (enemy.position_Z + 1) % 2 != 0
                    && (enemy.enemy_direction == Constants.UP || enemy.enemy_direction == Constants.DOWN))
                {
                    enemy.enemy_direction = Constants.RIGHT;
                    bb.RotateEntity(enemy.image, 0, 270, 0);
                }
            }

            if (enemy.enemy_direction == Constants.RIGHT)
                enemy.position_X++;
            if (enemy.enemy_direction == Constants.LEFT)
                enemy.position_X--;
            if (enemy.enemy_direction == Constants.UP)
                enemy.position_Z++;
            if (enemy.enemy_direction == Constants.DOWN)
                enemy.position_Z--;
            bb.PositionEntity(enemy.image, (enemy.position_X * Constants.BLOCK_FACTOR), 0, (enemy.position_Z * Constants.BLOCK_FACTOR * (-1f)));

            if ((enemy.position_X+1> 15 || enemy.inicial_x+ (enemy.position_X-enemy.inicial_x) > 5) && enemy.enemy_direction == Constants.RIGHT)
            {
                enemy.enemy_direction = Constants.LEFT;
                bb.RotateEntity(enemy.image, 0, 90, 0);
            }
            else if ((enemy.position_X - 1 < 0 || enemy.inicial_x + (enemy.position_X - enemy.inicial_x) > 5) && enemy.enemy_direction == Constants.LEFT)
            {
                enemy.enemy_direction = Constants.RIGHT;
                bb.RotateEntity(enemy.image, 0, 270, 0);
            }
            else if ((enemy.position_Z + 1 > 17 || enemy.inicial_z + (enemy.position_Z - enemy.inicial_z) > 5) && enemy.enemy_direction == Constants.UP)
            {
                enemy.enemy_direction = Constants.DOWN;
                bb.RotateEntity(enemy.image, 0, 0, 0);
            }
            else if ((enemy.position_Z - 1 < 0 || enemy.inicial_z + (enemy.position_Z - enemy.inicial_z) > 5) && enemy.enemy_direction == Constants.DOWN)
            {
                enemy.enemy_direction = Constants.UP;
                bb.RotateEntity(enemy.image, 0, 180, 0);
            }

            /*if ((enemy.position_X == 6 || ((enemy.position_X+1)%2!=0) && ((enemy.position_Z+1)%2!=0)) && enemy.enemy_direction == Constants.RIGHT) {
                enemy.enemy_direction = Constants.LEFT;
            }
            else if ((enemy.position_X == 0 || ((enemy.position_X - 1) % 2 != 0) && ((enemy.position_Z - 1) % 2 != 0)) && enemy.position_X == 0 && enemy.enemy_direction == Constants.LEFT)
            {
                enemy.enemy_direction = Constants.RIGHT;
            }
            /*if (bb.EntityCollided(enemy.image, ENEMIES_TYPE) == 0)
            {
                if (enemy.enemy_direction == Constants.RIGHT)
                    enemy.enemy_direction = Constants.LEFT;
                else if (enemy.enemy_direction == Constants.LEFT)
                    enemy.enemy_direction = Constants.RIGHT;
            }*/
        }
Beispiel #3
0
 public void MoveEnemy(Enemy enemy)
 {
     if (enemy.enemy_direction == Constants.RIGHT)
         bb.MoveEntity(enemy.sphere, 0.4f, 0, 0);
     else if (enemy.enemy_direction == Constants.LEFT)
         bb.MoveEntity(enemy.sphere, -0.4f, 0, 0);
 }
Beispiel #4
0
 public void addEnemy(Enemy c)
 {
     this.enemies.Add(c);
 }