Beispiel #1
0
 protected void CreateLevel()
 {
     isPaused = false;
     soundPlayer.StopAllSounds();
     levelCompleteScreen.Reset();
     MediaPlayer.Volume = gameOptions.MusicVolumeAtPlay;
     level = new Level(game, particleLibrary, ref soundPlayer, scene, playerOne, startPeeps, levelCount);
     level.LoadContent(game.Content);
     levelCount++;
 }
Beispiel #2
0
        public void Update(GameTime gameTime, InputState input, PlayerIndex[] controllingPlayer, ref ApplicationState appState, ref Player playerOne)
        {
            scene.Camera.Move(input, controllingPlayer);
            skybox.Update(gameTime);
            map.Update(gameTime);
            playerOne.Move(input, controllingPlayer);
            playerOne.Update(gameTime);

            playerCollisionCheck = map.CheckBuildingCollision(playerOne);
            //has player hit the building, if so they deaded
            if (playerCollisionCheck == CollisionType.Building)
            {
                playerOne.Die();
                soundPlayer.StopAllSounds();
                soundPlayer.PlaySound("Explosion");
            }
            //has player landed too hard, if so they deaded, if there is a peep they deaded too
            if (playerCollisionCheck == CollisionType.Roof && playerOne.SafeDescent() == false)
            {
                if (map.CheckPeepCollision(playerOne))
                {
                    peepsLeft--;
                }
                playerOne.Die();
                soundPlayer.StopAllSounds();
                soundPlayer.PlaySound("Explosion");
            }
            //has the player landed safely, if there is a peep he is abducted
            if (playerCollisionCheck == CollisionType.Roof && playerOne.SafeDescent() == true)
            {
                if (map.CheckPeepCollision(playerOne))
                {
                    peepsLeft--;
                    playerOne.Score += gameOptions.PeepValue;
                    soundPlayer.PlaySound("Scream");
                }

                if (map.CheckPowerupCollision(playerOne))
                {
                    playerOne.Fuel += gameOptions.PowerupFuel;
                    soundPlayer.PlaySound("Reward");
                }
            }

            if (playerOne.Lives <= 0)
            {
                soundPlayer.StopAllSounds();
                appState = ApplicationState.GameOver;
            }
            if (peepsLeft <= 0 && playerOne.Lives > 0)
            {
                soundPlayer.StopAllSounds();
                soundPlayer.PlaySound("ScoreUp");
                appState = ApplicationState.LevelComplete;
            }

            gameHud.Update(gameTime, playerOne.Lives, playerOne.Score, playerOne.Fuel, peepsLeft);

            if (Keyboard.GetState().IsKeyDown(Keys.P))
            {
                Console.WriteLine(scene.Camera.Position + " - " + scene.Camera.View + "." + " - " + playerOne.Position);
            }
        }