
Lab 4 - Aquarium Lab
Make an aquarium simulation in J2ME. This lab must use the MIDP 2.0 Game Canvas API. Include a tiled background of water, the ocean floor of sand and rocks, some animated sea plants, and some animated fish.
Detailed requirements:
- You must use MIDP 2.0 API including TiledLayer and Sprite classes.
- Automatically detect screen size.
- Show a splash screen while aquarium initializes.
- Actual aquarium is to initially be TWICE the screen width and allow the user to scroll sideways using the phone joystick or game input (<and > keys).
- Provide at least 2 backgrounds that the user can select from a configuration screen.
- The tile data must be read from a file (binary or ascii) and not hardcoded in your appliction.
- Provide a minimum of 4 different, animated (sprite) fish.
- Each sprite is to have at least 2 different images (parts of the animation) in it.
- Allow the user to specify the number of active fish using the configuration screen.
- Fish do not swim backwards.
- All images for a single sprite object will be in ONE image file (all parts of the animation sequence and all directions).
- For at least one sprite you must read in the sprite and rotate the sprite in code.
- Provide a minimum of 1 stationary, animated object (seaweed, clam (opens and closes), etc).
- Provide at least these buttons: EXIT, ABOUT, CONFIGURE, HELP. Others as appropriate.
- Configuration page allows you to change things (adjust screen wider or less than 2x screen width, more or less fish, more or less seaweed, which background, etc). Settings are to use persistent storage and will take effect immediately and be used each time the application is started.
- EXIT button prompts for confirmation (something like "are you sure [y/n]") to prevent accidental exit.
- You will be graded on the proper use of the API but you will not be graded on your artistic abilities (or lack of).
Optional features you might want to add:
- Bubbles.
- Fish move at different speeds and with motion other than a straight line.
- Fish can swim in front of or behind seaweed.
- Animated bottom dwellers (crab, starfish, etc).
- Some fish can eat others. Replacement fish automatically appear.
Examples
These are just example aquarium simulators, they don't necessarily meet the LAB requirements.
What to turn in
- Follow the general lab guidelines.
- Turn in a ZIP file of your entire WTK project.
- Tell me where you get your images (files, sprites, etc).
- If you had difficulty implementing some features, describe the problems you had and leave in your non-functional code (its better to show that you tried to implement the requirements than to not show any evidence that you tried).