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); } }
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; }*/ }
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); }
public void addEnemy(Enemy c) { this.enemies.Add(c); }