Пример #1
0
        /// <summary>
        /// Make the world go round.
        /// </summary>
        public void Move()
        {
            foreach (Worm worm in worms)
            {
                if (worm.Active)
                {
                    worm.Move();
                }
            }
            currentStep = 0;
            if (wormsAlive < wormCap)
            {
                Vector2 random = Random.ValidPosition(collision, width, height, collision.empty);
                if (random.X != -1)
                {
                    SpawnWorm(collision.X(random.X), collision.Y(random.Y), minWormLength);
                }
                else
                {
                    random = Random.ValidPosition(collision, width, height, collision.fruit);
                    if (random.X != -1 && collision.GetType(random) == collision.fruit)
                    {
                        fruits.Disable(collision.X(random.X), collision.Y(random.Y));
                        SpawnWorm(collision.X(random.X), collision.Y(random.Y), minWormLength);
                    }
                    else
                    {
                        if (wormsAlive > 0)
                        {
                            wormsAlive--;
                        }
                    }
                }
            }
#if DEBUG
            if (visualizeCollision)
            {
                collision.Visualize();
            }
#endif
        }