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..

RubricThis will be graded on the usual 0,1,2,3 basis. We will be looking to see that your code works and that you haveused a "good" object oriented design and we'll discuss what makes an OO design good when we review your worknext week!