The aMaze MIDlet is a 3D game where the user guides the marble through the maze by tilting the phone until the time runs out.
The aMaze 3D game starts with a simple splash screen, and has a brief information about the game in the info screen. Tapping on the info icon, at bottom-left of the screen, during game menu launches the info screen.
Figure: aMaze icon, splash and info screens
Tapping on the screen, after the splash screen, starts the game. Tapping on the close icon, at bottom-right of the screen, during game menu closes the game.
Figure: aMaze game menus
The aMaze 3D game displays helpful tips, when game playback is idle, to inform the user about different game features. Tapping on the pause icon, at bottom-right of the screen, pauses the game and resuming from the pause menu recalibrates the accelerometer sensor.
Figure: aMaze game tips
The aMaze 3D game is played by tilting the phone to guide the marble through the maze. The screen can be zoomed with the help of pinching gesture, and the zoomed view can be toggled with the help of double tap gesture.
Figure: aMaze game views
The MIDlet consists of the following important classes:
Main
—The MIDlet main class.
SplashScreen
—The splash screen implementation.
SafeGestureInteractiveZone
—The rectangle where
the gestures are recognised.
SafeGestureListener
—The interface for gesture
listeners.
SafeGestureRegistrationManager
—The intelligent
manager for registering gesture listeners.
GameModel
—The game model which knows where
everything is.
MarbleModel
—The model of the marble.
Maze
—The model of the maze.
MyTimer
—A generic, easy-to-use timer.
AccelerationProvider
—The interface that provides
accelerometer sensor readings.
AccelerationProviderImpl
—The actual implementation
of the accelerometer sensor readings provider.
CameraAnimator
—A utility class for camera
animations.
DoubleTapDetector
—Listens to touch events
and notifies the listener if a double tap event is detected.
InteractionManager
—Handles all the user interaction
events.
MazeCanvas
—The game view that ties everything
together.
Menu
—A generic menu with support for custom
menu items.
WorldBuilder
—Contains the methods for creating
the game levels.
For a complete list of the MIDlet's packages and classes, see section: MIDlet packages and classes
For information about implementing the MIDlet, see section: Implementation.