Bullseye game scoring

I am helping a group of students create a bullseye target game app. Our challenge is scoring:
how to have the bullseye properly register a score for a given ring without registering a score for the neighboring ring.

Current setup is the use three balls of decreasing sizes for each ring. A collision with one ring will yield the proper score and using an if/not to exclude the ring that it passed through to reach the scoring ring.

Question: how to have the game score a 50 point bullseye without getting the score for the outer rings as well?

Any help is appreciated. Thank you.

aia file here: bullseyescore.aia - Google Drive


If you use the Canvas DrawCircle instead of Balls to construct the target bullseye circles you might simplify your scoring dilemma The following example shows one way to ensure your arrow scores properly. Touch a circle to see its color (this could be points).

Experiment with the model and let us know what you think. :slight_smile:
ArrowTarget.aia (23.8 KB)

This is a cute problem.

Unlike SkeeBall, where the ball drops into its targets from a third dimension, you are passing through the outer rings to get to the inner rings.

So you can't really know how far in the arrow went in until the arrow stops, presumably through the application of a Clock Timer event that slows down its speed continually as it flies (rolls?).

Once the arrow has stopped, you can use the Pythagoras formula (sqrt(dx^2 + dy^2)for distance from the center of all targets, and compare that to the target radii, smallest to largest.

Here is a Clock Timer from one of my sample apps:

Check for distance from center in the if/then/else branch for negative or zero speed.