Beispiel #1
0
        private void UpdateLevelState(GameTime gameTime)
        {
            if (darwin.isZombie() && darwin.isDarwinAlive())
            {
                if (zTime.isTimedOut())
                {
                    gameOver = true;
                }
                else
                {
                    zTime.Update(gameTime);
                }
            }

            KeyboardState ks = Keyboard.GetState();

            checkForExitGame(ks);

            updateKeyHeldDown(ks);

            // only check for deaths if neccessary
            if (darwin.isDarwinAlive())
            {
                if (!darwin.isZombie())
                {
                    checkForGameOver(firstZombie);
                    checkForGameOver(secondZombie);
                    checkForGameOver(thirdZombie);
                    checkForGameOver(fourthZombie);
                    checkForGameOver(fifthZombie);
                    checkForGameOver(sixthZombie);
                }
                checkForGameOver(vortex);

                darwin.Update(gameTime, ks, board, darwin.X, darwin.Y);
            }

            stairs.Update(gameTime, darwin);

            firstZombie.Update(gameTime, darwin, brain);
            secondZombie.Update(gameTime, darwin, brain);
            thirdZombie.Update(gameTime, darwin, brain);
            fourthZombie.Update(gameTime, darwin, brain);
            fifthZombie.Update(gameTime, darwin, brain);
            sixthZombie.Update(gameTime, darwin, brain);

            firstSwitch.Update(gameTime, ks, darwin);

            brain.Update(gameTime, ks, darwin);

            vortex.Update(gameTime, ks);
            vortex.CollisionWithZombie(firstZombie);
            vortex.CollisionWithZombie(secondZombie);
            vortex.CollisionWithZombie(thirdZombie);
            vortex.CollisionWithZombie(fourthZombie);
            vortex.CollisionWithZombie(fifthZombie);
            vortex.CollisionWithZombie(sixthZombie);
            vortex.CollisionWithBO(brain, board);

            potion.Update(gameTime, ks, darwin, zTime);

            //checkForGameWin();
            checkForSwitchToLevelTwo();

            if (ks.IsKeyDown(Keys.H) && messageModeCounter > 10)
            {
                messageMode        = true;
                messageModeCounter = 0;
            }
            messageModeCounter++;
        }