Ejemplo n.º 1
0
        /// <summary>
        /// Processes possible the-ball-to-a-brick collisions, and does appropriate velocity changes if they occur.
        /// </summary>
        private void ProcessPossibleBrickCollisions()
        {
            for (int i = 0; i < bricks.Length; i++)
            {
                if (bricks[i] != null)
                {
                    Position currentCollisionPosition = CollisionDetector.BrickToCircleIntersection(ball, bricks[i]);

                    if (currentCollisionPosition != Position.None)
                    {
                        PositionRelationBallVelocityManager
                        .ChangeVelocityAccordingToCollisionPosition(ball, currentCollisionPosition);

                        bricks[i].Dispose();
                        bricks[i] = null;
                    }
                }
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Processes possible the-ball-to-a-wall collision, and if it occurs, changes velocity of the ball.
 /// </summary>
 private void ProcessPossibleWallCollisions()
 {
     PositionRelationBallVelocityManager.BallWallsContact(ball, graphics);
 }