There are approximately 60 square images, each image has an A version and a B version. Upon launch, the A version of one of these 60 images is displayed on the screen. By rapidly moving the device, or, if possible, thrusting the device rapidly upward, all the images are distributed around a square area. This action will also play a sound. The square area’s size is within a range approximately determined by the user (the user inputs their height and this adjusts the range). The square images will be distributed around the square randomly facing A version and B version and at random degrees of rotation.
These square images can be manipulated in a number of ways:
Touch and Drag on the square area: This moves the square area around.
Pinch In/Out: This zooms in and out on the square area.
Touch and Drag on an image: Moves the image around, when the image gets close to the edge of the screen, the screen should scroll.
Double tap on an image: Swaps the image from A to B or B to A.
Two finger rotation on an image: rotates the image.
Rotating the device does nothing.
Blowing into the microphone: this slides images upward and away from whatever area the screen is currently displaying.
A timer starts upon the initial shaking/thrusting upward and stops when the user has stacked all the images on top of each other, with the same image version facing up (either image version is OK, they just have to all have the same image version facing up), and within 10 degrees of rotation. The order of the images does not matter, just the orientation and facing.
The end time result should be submittable to an online source with an attached name of reasonable length (8-12 characters, I suppose), somewhat like a “high score?? that should be viewable by other users of the program.
The code should be written in such a way for me to simply add the images and sounds I wish to add on my end. On your end, the images and sounds don’t matter as long as the behavior is correct. I can provide placeholder images and sound if necessary.