Homework 2B
Short Description:
Write a program that will produce a two dimensional maze.
This assignment is worth 50 points.
Goals
When you finish this homework, you should
- Begin to create computer graphics.
- Debug a program involving graphics.
- Write a program involving Basic OpenGL commands.
Formal Description
Write a program which will produce and display a 2D Maze. The Wikipedia article mentions a number of algorithms. I would implement Randomized Prim's, but the choice is up to you.
I would stick with 2-D mazes for now. In the future we will be able to produce three dimensional objects, which we can then manipulate in 3 space. We are not ready to do this just yet.
Your program should support the following key presses
- R - draw the figure in red.
- G - draw the figure in green
- B - draw the figure in blue
- b - draw the figure in black.
- g - interactively display the generation of a maze. This option should generate a new maze.
- r - allow the player to traverse the maze. Use the arrow keys to steer. You will need to place an object that represents the user at the start position of the maze and move it appropriately based on the arrow keys.
- q - quit, exit the program
Discussion
- Feel free to add additional "cool" features, be sure to document these in your README.
- Please use glBegin() and glEnd() to implement this project.
Required Files
Your code, a Makefile, and a README file.
The README file should contain personal information (your name, email, ...)
as well as a description of the assignment. It should discuss the algorithms and data structures you employed in accomplishing the assignment. You should
also discuss any unique features contained in your program, problems
with the program, and special instructions for compiling or using your program.
If you wish to provide feedback on the assignment, ask questions, or compose
poetry, this is probably the place to do it.
Submission
You should email tar file as an attachment to a message to danbennett360@gmail.com. This tar file should contain all of the source code required to generate your project, a Makefile, and the README file.