Example #1
0
        private void gameUpdateRunning()
        {
            gameTime.update(gameUpdateSpeed);
            foreach (var item in gameObstacles)
            {
                item.update(gameUpdateSpeed);
                if (GameUtils.isColliding(item, snake))
                {
                    snake.passData(new GameData(GameState.Dead));
                }
            }
            lock (snakeFood) {
                foreach (var item in snakeFood)
                {
                    if (GameUtils.isColliding(item, snake))
                    {
                        player.Play();
                        snake.passData(new GameData(GameState.Grow));
                        snake.passData(new GameData(GameState.SpeedUp));
                        snakeFood.Clear();
                        snakeFood.Add(GameUtils.getRandomSnakeFoodObject());
                        gameScore.passData(new GameData(GameState.Score));
                        score++;
                    }
                }
            }
            if (highScore < score)
            {
                highScore = score;
            }

            snake.update(gameUpdateSpeed);
            gameScore.update(gameUpdateSpeed);

            if (snake.getStates().Contains(GameState.Dead))
            {
                Thread.Sleep(1000);
                modelState = GameState.Menu;
                initGameData();
                initMenu();
            }
        }
Example #2
0
 public bool isColliding(IGameObject objectToTest)
 {
     return(GameUtils.isColliding(this, objectToTest));
 }