TheRodinhoods

Logic For Game – How do we do it?

I’ve been writing short stories here on trhs, this being the first ASK post. I’ve made 4 apps as of now and have started with the development of a game this time.

What is the game all about?

It’s a puzzle game. We are using AndEngine to build it on Android platform (currently). We have divided the game into various World, with each World containing various Levels. 

(Name of game is not yet decided)

What is the Issue?

See the Game design below. The purpose of the game is to drag-and-drop the broken pieces into the “drop” area (a.k.a. holder) and form the circle. We’ve developed the basic 2 levels of the game. This is the third level. The issue is how do we know that all the broken pieces have filled the holder? We’re using AndEngine for the first time and have very little idea how this can be done. 
Tapping on any broken object would rotate it by 90 degrees. So there can be 4 possible solutions for each of them).

Also, the logic should hold true for any shape, any number of broken pieces, any number of holders. 

Ideas that we’ve thought about

We’ve thought to solve this using:
1) Area of the holder is filled -> But how do we programmatically do that?
2) Take center coordinates of each broken piece and find the distance from the center of the circle. Verify this in all the 4 conditions (all 4 rotations by 90 degree each). -> We’re trying to figure this out.
3) See if all the broken pieces are used in the holder area -> What if there are more than one holder?

Any technical help or any references would be really great.