Topical Information

This project will help you show your mastery of 2D storage/processing and strings (and branching, looping, etc.).

Program Information

Create a maze and allow the user to roam around in it. Don't think graphics, obviously. Think characters. A grid of Xs or #s can form a maze quite nicely:

       ################################################
       #   #      #          #  #     #    #      #   #
       #   #   ####  #####  ##  ### ##### ##  ####### #
       # ###   #  #  # # #  ##   ## #  ##  #  #  @  # #
       # # ### #     #   #  ##   ## #   #  #  #     # #
       # # #   #  #  # # #  ##   ## #   #  #  #     # #
       #   ### ####  #####  ##   ## #   #  #  ### ### #
       #   # #                   #  ## ##     #     # #
       # #     ####         #              #     #    #
       #E##############################################

(Okay, so I'm not an artist...*phbbt*) (That @ is the player/user and the E is the exit they need to reach.)

Also think turn by turn — not real-time/interactive. In other words, you print the maze, the user tells you which way they want to move, you 'calculate' the new state of the maze, then re-draw it, etc.

Suggestions:

Remember, people cannot walk through walls! They also cannot walk off the edge of the world...

Let them tell you which way they want to go in a natural way: north, south, east, west (or up, down, left, right). They should just type the word — not choose from a menu. (This is known as a command interface — like the $ prompt.) Other commands you should allow are quit, score (see options), inventory (see options), drop ___ (see options), and help (to print the list of commands).

Make sure to mark the exit clearly (an E perhaps?) so they know where they are supposed to go.

This assignment is (Level 6) plus (Level 2) for a reasonable theme.

Options


Total Level Possible

If you did all above options, this project could be worth as much as (Level 37).