protected override void Initialize() { m_SpriteBashesMgr = new SpriteBashesManager(this); m_SpriteBatch = new SpriteBatch(GraphicsDevice); m_SpriteBashesMgr.AddSpriteBash("Game", m_SpriteBatch); this.Window.Title = "SpaceInvaders!!"; this.Components.Add(new BackGround(this)); SpaceShip spaceShip = new SpaceShip1(this, 0); m_SpaceShips.Add(spaceShip); this.Components.Add(spaceShip); spaceShip.Disposed += spaceShip_Disposed; spaceShip = new SpaceShip2(this, 1); m_SpaceShips.Add(spaceShip); this.Components.Add(m_SpaceShips[1]); spaceShip.Disposed += spaceShip_Disposed; m_MotherShipInTheGame = false; m_GameOver = false; m_EnemiesMatrix = new EnemiesMatrix(this); m_EnemiesMatrix.Disposed += enemiesMatrix_Disposed; m_EnemiesMatrix.ReachedBottom += enemiesMatrix_Disposed; m_EnemiesMatrix.Position = m_GameManager.MatStartPosition; this.Components.Add(m_EnemiesMatrix); this.Components.Add(new ScoreBoard(this)); this.Components.Add(new SoulsBoard(this)); this.Components.Add(new Barriers(this)); base.Initialize(); }
private void moveLevel() { m_CurrentLevel++; SpaceInvadersServices.ClearComponents <Enemy>(this); SpaceInvadersServices.ClearComponents <Barrier>(this); SpaceInvadersServices.ClearComponents <Bullet>(this); EnemiesMatrix enemyMatrix = SpaceInvadersServices.GetEnemeiesMatrixComponent(this); BarrierGroup barrierGroup = SpaceInvadersServices.GetBarrierGroupComponent(this); enemyMatrix.Initialize(); barrierGroup.Initialize(); SpaceInvadersServices.ChangeBarriersGroupVerticalPosition(this, barrierGroup); int state = m_CurrentLevel % 5; if (state >= 2 && state <= 5) { enemyMatrix.AddEnemiesColumn(); enemyMatrix.IncraseEnemiesRandomShotting(); enemyMatrix.AddPointsForEnemyKilling(30); barrierGroup.StartJumpingBarriers(); barrierGroup.Speedup(0.05f); if (state == 2) { barrierGroup.ChangeToDefaultJumpingSpeed(); } } else { barrierGroup.StopJumpingBarriers(); } this.ScreensManager.SetCurrentScreen(new MoveStageScreen(this.Game, m_CurrentLevel)); }
public static EnemiesMatrix GetEnemeiesMatrixComponent(GameScreen i_GameScreen) { EnemiesMatrix enemiesMatrix = null; foreach (GameComponent component in i_GameScreen) { enemiesMatrix = component as EnemiesMatrix; if (enemiesMatrix != null) { break; } } return(enemiesMatrix); }
public override void Initialize() { initilizeOnFirstRun(); SpritesFactory.CreateSprite(this, SpritesFactory.eSpriteType.MotherShip); SpritesFactory.CreateSprite(this, SpritesFactory.eSpriteType.SpaceBackground); EnemiesMatrix enemiesMatrix = new EnemiesMatrix(this); BarrierGroup barrierGroup = new BarrierGroup(this); m_MultiPlayerConfiguration = SpaceInvadersServices.GetMultiPlayerConfiguration(this.Game); m_MultiPlayerConfiguration.CreatePlayers(this); m_WonLevelSound = SoundFactory.CreateSound(this, SoundFactory.eSoundType.LevelWin); m_GameOverSound = SoundFactory.CreateSound(this, SoundFactory.eSoundType.GameOver); this.Add(enemiesMatrix); this.Add(barrierGroup); base.Initialize(); SpaceInvadersServices.ChangeBarriersGroupVerticalPosition(this, barrierGroup); }
/// <summary> /// Set battle field by current level. /// </summary> private void setBattleField() { m_mothership = new Mothership(this); AddComponents(m_mothership); int fieldLevel = (m_level - 1) % 4; float enemiesJumpsForSecond = 2; int enemiesRows = 5; int enemiesColumns = 9 + fieldLevel; m_enemies = new EnemiesMatrix(this, enemiesColumns, enemiesRows, enemiesJumpsForSecond); m_enemies.AllEnemiesDead += nextStage; m_enemies.ArrivedMaxY += stageFailed; AddComponents(m_enemies); m_barriers = new BarriersArray(this, 4, fieldLevel); AddComponents(m_barriers); if (fieldLevel == 0) { Enemy.ResetScores(); } }