Reference no: EM132016
1. Design and implement a C++ program for the given specification.
2. Show a structure diagram for your program using the program provided on the network.
To complete this program it is necessary to have a good design for storing the maze layout. Good programs store data about a thing in a way that closely resembles the thing itself.
The maze is on a grid of 16 x 16 squares, so information about the array should be in a 16 x 16 array. For each square, the following information needs to be stored:
- For each of the 4 walls on the square, a Boolean variable is needed to represent whether the wall is present (true) or absent (false)
- A Boolean variable is needed to represent whether the robot has visited this square. This will allow the program to display the robot's path through the maze.
- An integer is needed to store the smallest number of steps to reach the square from the start of the maze. This is used to solve the maze.
Design and write a program that:
1. Uses the given Windows graphics system.
2. Designs and draws a random maze on a 16 x 16 grid.
3. Solves the maze by calculating the number of steps required to reach all accessible squares.
4. Allows the user to use the computer mouse to move a robot through the maze.
5. Provides some buttons that the user can click on to operate the program to:
a) Start a new game.
b) Solve the maze.
c) Restart the existing game.
d) Exit the program.