Ejemplo n.º 1
0
        /// <summary>
        /// Ball position correction to not get stuck inside of a brick.
        /// </summary>
        /// <param name="col"> Ball collision side</param>
        private void BallColisionCorrection(BallColisionSide col)
        {
            switch (col)
            {
            case BallColisionSide.TOP:
                ball.Position.Y += COLISION_PADDING;
                break;

            case BallColisionSide.BOTTOM:
                ball.Position.Y -= COLISION_PADDING;
                break;

            case BallColisionSide.LEFT:
                ball.Position.X += COLISION_PADDING;
                break;

            case BallColisionSide.RIGHT:
                ball.Position.X -= COLISION_PADDING;
                break;

            case BallColisionSide.NONE:
            default:
                break;
            }
        }
Ejemplo n.º 2
0
        public bool Bounce(BallColisionSide col)
        {
            switch (col)
            {
            case BallColisionSide.TOP:
            case BallColisionSide.BOTTOM:
                Speed.YSpeed *= -1;
                return(true);

            case BallColisionSide.LEFT:
            case BallColisionSide.RIGHT:
                Speed.XSpeed *= -1;
                return(true);

            case BallColisionSide.NONE:
            default:
                return(false);
            }
        }