/*void UpdateBody() * { * body.X = (int)position.X; * body.Y = (int)position.Y; * }*/ public bool CheckCollisionWithBall(Ball ball) { if (ball.CollisonBody.Intersects(topOuterFragment)) { ball.BounceFromPaddle(1); return(true); } if (ball.CollisonBody.Intersects(topInnerFragment)) { ball.BounceFromPaddle(2); return(true); } if (ball.CollisonBody.Intersects(innerFragment)) { ball.BounceFromPaddle(3); return(true); } if (ball.CollisonBody.Intersects(botInnerFragment)) { ball.BounceFromPaddle(4); return(true); } if (ball.CollisonBody.Intersects(botOuterFragment)) { ball.BounceFromPaddle(5); return(true); } return(false); }
public void Update(float delta) { if (Keyboard.IsKeyDown(KeyCode.Space)) { _ball.CanMove = true; } _leftPaddle.Update(delta); _rightPaddle.Update(delta); _ball.Update(delta); if (_ball.CollidesWithPaddle(_leftPaddle)) { _ball.BounceFromPaddle(_leftPaddle); Assets.PaddleHit.Play(); } else if (_ball.CollidesWithPaddle(_rightPaddle)) { _ball.BounceFromPaddle(_rightPaddle); Assets.PaddleHit.Play(); } else if (_ball.CollidesWithBoardSide()) { _ball.BounceFromSide(); Assets.WallHit.Play(); } if (_ball.CollidesWithEndOfPlayfield(out var left)) { if (left) { RightScore++; } else { LeftScore++; } _ball.Center(); Assets.OutsidePlayfield.Play(); _ball.CanMove = false; } }