Programming Assignment 2: Extending the Maze Game

In this assignment you will work on extending the Maze Game from last week in a way that provides for a richer game environment. Some of the changes are
  • each cell in the maze now represents a room that can contain many different players and objects
  • each player has a backpack and can pick up objects and carry them around the maze
  • different objects give the player different capabilities
There will also be a human player that can take commands from the user which tell it to move to a given room, to pick up objects, to "fight" with other players (or maybe they are dancing??). We will brainstorm a bit on the kinds of objects to include in the game, the capabilities they give to the players, and the ways the players can interact. Your goal will be to create an elegant design for this extended game and to use that design to create a well-documented and tested implementation.  Everyone will branch from the main game but will not merge back in.  You'll each have your own branches, technically this is forking since the branches will not be merged in the future...

Deliverables for PA-2
  • You are to make your own branch of the PA-1 codebase
  • Make the changes needed to implement the extended game as we have described it
  • Create a MazePlayer strategy
  • Submit a video showing your code running in "Debug mode" where it prints the board and the actions..
This will be graded on the usual 0,1,2,3 basis. We will be looking to see that your code works and that you have
used a "good" object oriented design and we'll discuss what makes an OO design good when we review your work
next week!