예제 #1
0
파일: Game1.cs 프로젝트: Sferion/JumpThing
        protected override void Update(GameTime gameTime)
        {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }

            playerSprite.Update(gameTime, levels[levelNumber]);

            if (playerSprite.spritePos.Y > screenSize.Y + 50)
            {
                playerSprite.lives--;
                if (playerSprite.lives <= 0)
                {
                    playerSprite.lives = 3;
                    levelNumber        = 0;
                }
                playerSprite.ResetPlayer(new Vector2(50, 50));
            }

            if (playerSprite.checkCollision(coinSprite))
            {
                levelNumber++;
                if (levelNumber >= levels.Count)
                {
                    levelNumber = 0;
                }
                coinSprite.spritePos = coins[levelNumber];
                playerSprite.ResetPlayer(new Vector2(50, 50));
            }
            base.Update(gameTime);
        }
예제 #2
0
        protected override void Update(GameTime gameTime)
        {
            if (Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }

            if (!gameOver)
            {
                player.Update(gameTime, levels[currentLevel], jumpSound);                              //Update player

                if (player.spritePos.Y - 150 > screenSize.Y)
                {
                    if (lives > 0)
                    {
                        player.resetPlayer(startPos);  //Reset player to the starting position if they fall below the screen
                        lives--;
                        deathSound.Play();
                    }
                    if (lives == 0)
                    {
                        gameOver = true;
                    }
                }

                if (player.checkCollision(coin))
                {
                    currentLevel++;
                    if (currentLevel >= levels.Count)
                    {
                        currentLevel = 0;
                    }
                    coin.spritePos = coinPos[currentLevel];
                    player.resetPlayer(startPos);
                    coinSound.Play();
                    if (coinCount == 9)
                    {
                        coinCount = 0;
                        lives++;
                    }
                    else
                    {
                        coinCount++;
                    }
                }
            }
            else
            {
                if (Keyboard.GetState().IsKeyDown(Keys.Enter))
                {
                    currentLevel = 0;
                    player.resetPlayer(startPos);
                    coinCount = 0;
                    lives     = 3;
                    gameOver  = false;
                }
            }
            base.Update(gameTime);
        }
예제 #3
0
        // called when game should update
        protected override void Update(GameTime gameTime)

        {   // defines what buttons/keys are being pressed
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }

            PlayerSprite.Update(gameTime, levels[levelNumber]);

            if (PlayerSprite.spritePos.Y > screenSize.Y + 50)
            {
                PlayerSprite.lives--;
                if (PlayerSprite.lives <= 0)
                {
                    PlayerSprite.lives = 3; // total number of lives
                    levelNumber        = 0;
                }


                PlayerSprite.ResetPlayer(new Vector2(100, 50));
            }

            if (PlayerSprite.checkCollision(coinSprite)) // check if player is colliding with coin
            {
                levelNumber++;                           // player levels up if they collide with coin
                if (levelNumber >= levels.Count)
                {
                    levelNumber = 0;
                }
                coinSprite.spritePos = coins[levelNumber];
                PlayerSprite.ResetPlayer(new Vector2(100, 50));
                fanfareSound.Play(); // fanfare sound plays when collision with coin happens
            }

            base.Update(gameTime);
        }