示例#1
0
        /// <summary>
        ///   Update/refresh the  game lements like move ball and rackets
        /// </summary>
        public void Update()
        {
            ball.Move(watch.Elapsed.TotalSeconds, speed);


            var racket = rightActive == true ? rightRacket : leftRacket;

            if (Up)
            {
                racket.Move(watch.Elapsed.TotalSeconds, Racket.Direction.Top);
            }
            if (Down)
            {
                racket.Move(watch.Elapsed.TotalSeconds, Racket.Direction.Bot);
            }

            #region collisions
            Status = ball.isCollidingWall(gameRenderSize);

            checkColision(ball, leftRacket, Racket.Direction.Left);
            checkColision(ball, rightRacket, Racket.Direction.Right);

            if (gameRenderSize.Width - ball.Position.X < 450 && ball.dx > 0 && !calc)
            {
                Ball.calc(this, ball.Clone(), rightRacket, Racket.Direction.Right);
                calc = true;
            }

            #endregion



            string log = string.Format("Ball({0}/{1}); Rack({2}/{3}/{4})", ball.Position.X, ball.Position.Y, leftRacket.Position.X, leftRacket.Position.Y, leftRacket.Size.Height);



            watch.Restart();
        }