5. End Game
The game ends when the ball is completely inside the target.
You win the game by moving your ball completely inside the white part of the target.
5a. Win-help?
Signature: win-help? : posn(ball-pos) posn(target-pos) -> boolean
This function is testable. Ideally you would write tests for it… but here are some.
;; ball radius 5, target inner radius 15
(check-expect (win-help? (make-posn 15 0) (make-posn 0 0)) false)
(check-expect (win-help? (make-posn 0 9) (make-posn 0 0)) true)
(check-expect (win-help? (make-posn 103 129) (make-posn 100 124)) true)
5b. Win?
Signature: win? : posn(ball-pos) -> boolean
The work for the win?
function is already done, you just need to put
it together.
5c. Win Screen
Signature: win-screen: posn(ball-posn) -> image
Adding a win screen is optional. You would only do this after you finished the draw handler.