Wyo VB Ch8Proj1
The Three-In-One Maze Game

Write a program that allows the user to play a three-in-one maze game. Each maze should be placed on a child form in an MDI project. Each maze should be different to some degree but it does not have to be real complicated. (The mazes do not have to include road blocks, pauses, color selections, or timings as used in Ch7Proj1). The project must include a splash screen that includes simple animation that is controlled with a timer object. The project must also use Sub Main as its startup object. The parent form must include the following menu:

File Help
Maze 1 About
Maze 2  
Maze 3  
Exit  



One of the three mazes should automatically display when the user closes the splash screen. However, the user should be allowed to select a different maze at any time from the parent form's menu. That is, the user does not have to finish a maze in order to select another maze from the menu. When a user completes a maze, he should be congratulated and the maze should remain displayed until he chooses another maze from the menu. If a user collides with a maze's wall or the boundary of the form, the shape object should be placed back at the beginning of the same maze. If the user does select another maze from the menu though, the current maze should be immediately closed and the selected maze should be displayed. At any time during the execution of the project, the menu command for the current maze being shown should be disabled and the other maze menu commands should be enabled. Whenever the user wishes, he should be able to exit the project with the File/Exit menu command. The user should be able to choose the Help/About menu command at any time to see the About form in a modal manner.

You must use the form Hide and Show methods as well as the form Load, Unload, and Activate events properly. You must also use Sub Main as well as other appropriate general procedures or functions in a standard code module for maximum reusability. You must use a menu control array with the Maze 1, Maze 2, and Maze 3 menu commands.

Optionally, you may add a shortcut menu that allows the user to change mazes or exit at anytime and that is accessible from any form. You can also use timer objects to create animation or other features from anywhere within the program. Just don't make the program too distracting or annoying ;-)

Preconditions:

Your program must follow the Coding Standards. Save the project file as "Ch8Proj1 ". Save the form files with logical names that include the .frm file extension. The whole project must be saved in a newly created folder named Ch8Proj1 within your network Basic folder.

Staple your printouts in the following order:

  1. The VB code windows. The standard code module must be stapled on top and it must include a full documentation header.
  2. The Interface Design Planning Sketches for each level drawn on graph paper labelled to show the exact placement of your maze's lines, the beginning area, and the end of the maze.
  3. Objects & Properties Planning Form for each form in the project.
  4. Event Procedures Planning Form for each form in the project.

    All printouts must be stapled in the order that they appear to the user when he executes the program. No test plan is necessary for this assignment.