Magnifier: Write a sketch with an output window with size 800x400 (or some other reasonable size in which the width is exactly twice the height). Load an image and display it in the left half of the output window. That is, the image should be in the 400x400 left side of the window. You might resize your image to fit in this size.
When the mouse is over the left half of the output window, draw a 40x40 box centred at the mouse point that is partially transparent (so that you can still partially see the image underneath it).
In the right half of the screen, magnify the part of the image that is under the 40x40 box where the mouse is. Each pixel in the image should now take up a 10x10 block of pixels in the "magnified" part of the output window. The magnified image should change as you move the mouse around the left half o the output window.
extra: Allow the user to change the magnification. When
the user presses the '+' (plus) key,
the box over the mouse
should decrease (which will increase the magnification) and
when the user presses the '-' (minus) key, the box over
the mouse should increase (which will decrease the magnification).
When changing the size of the box, either double or halve the sides
of the box. Whatever the size of the box, you should magnify
its contents to the right 400x400 side of the output window.
Red Eye Remover: Write a sketch that allows you to remove the 'red eye' from a photo. Your sketch should first load an appropriate image (google red eye image and you can find lots of example pics to work with). There will then be two steps in the red eye removal: eye selection and then actual red eye removal.
selection: Using the mouse, you will select a rectangle using two mouse clicks. The first mouse click anchors one corner of the rectangle. As you move the mouse it will show a rectangle (partially transparent) with one corner being the anchor corner (from the first click) and the opposite corner where the mouse is. When you click the mouse a second time it then fixes the second (opposite) corner of the rectangle. The idea is that the user will create this rectangle to have one eye completely inside it.
removal: One the rectangle has been fixed (over one eye) the next time you click the mouse, it should remove the red from the eye (in the box) and replace it with black pixels.
The sketch should allow you to repeat this again to remove the red from a second eye (and then a third, etc.).
extra: Add a colour selection mouse click before the removal stage. That is, after the rectangle has been selected, move the mouse to a place on the picture and then you click the mouse, it will remember the colour that the mouse is currently over. When you then click the mouse again, to start the removal, it will replace all the red pixels with this remembered colour.
Minesweeper: Write a sketch that implements the minesweeper game.
Projectile Motion: Write a sketch that implements the Gorillas game. (If you have never played gorillas, probably because the game is older than you are, you can play it online here.
I am looking more for the functionality of the game not the graphics. It would be great if you had a flying rotating banana, but that is not the important part of the game. You should have the general motion (trajectory) of the banana working properly.
extra: Add wind to the game so that it either makes the banana move faster or slower if the banana is moving in the same direction or opposite of the wind, respectively.
Something Cool: Do something cool. It should incorporate things that we used throughout the semester (branching, looping, arrays, objects, interaction with mouse/keyboard, perhaps animation, perhaps file access, etc.)
If you do this, you should have an text (.txt or .pdf) giving a short explanation of how to run/interact with your sketch. Alternatively, any description or instructions can be embedded in the sketch (for example, an introduction page that is displayed and waits for the user to click the mouse to continue after they have read the instructions).