UniversityEssayServices

design. The goal is to create a world that the player can walk around in. At this stage we are not concerned with the accuracy of room descriptions, whether a door is locked, or if there are goblins blocking a doorway. Our goal is to create all the rooms and connect them with doors in a way that is consistent and make sense.

1 Design

Before we start any kind of implementation, we usually start with some element of design. Taking the time to design, makes software easier to implement. Keep any and all files you create while designing your game in the “documents” folder in your repository. This should include your design document (but not the temporary files), any maps you create on http://www.draw.io, and anything that is not in your design document. Remember that source control keeps track of the changes so there is no reason for you to keep multiple copies of any of the files! We are going to start this stage focusing on the World.

If you have not already done so, draw a block-map of your world. In a block-map, each room in your world is represented by a block (or some shape). The ability to travel from one room to another in your world is represented by a line between two blocks. Bidirectional movement is indicated with a solid line, while one-way movement is indicated with an arrow. For cardinal directions (e.g., north, east, southwest) draw straight line following the directions on a compass. Movement in directions not related to a compass should be tagged with the direction pair indicating the direction the player must travel to get there.

To make this easy, I recommend that you can use: www.draw.io. I will recognize this file format if you use it. Feel free to have several block maps to represent your world if it will make it easier to represent all of the rooms of your world but be sure to include how they are all connected together. Place these files in the “documents” directory of your code repository.

Here is an example from the Campus of King’s:

Each block in your block-map represents a room (an area) in the game. At this point, write descriptions so that it is obvious where you are in the world when the player walks around. You should not include the

Name CS117 Project Stage 01: World – Page 2

items found in the room in your description unless the item is permanently in the room. Don’t spend too much time worrying about having complete descriptions we will work on refining these as we go.

One way to be sure that your room descriptions are free of typographical errors is to write descriptions in your design document. Many of you have already started this. If you have not, add a section to the end of the document entitled “Room Descriptions” and list each room in your game with its description. Once you have it written there, then it will be easy to cut and paste it from your game contract document to your code (watch out with special characters that Word allows but regular text does not).

2 Implementation

Before you start with this stage’s implementation, you should check your issues on GitHub and resolve any outstanding issues you have from previous stages. Only then, should you start with the implementation of this stage. Make sure that you commit and push often throughout this process, checking afterward to make sure that the server has your latest changes.

1. Modify the World’s createRooms method to include all of the rooms in your game. This method does three things. The first part is where the Room objects are created. In the next part, each room is added to a HashMap which will be used later in the implementation. In the end, the HashMap needs to store every room in the world. This will require that each room you create has a unique name. In the third part you create the doors between the rooms connecting them together. This will allow the player to move from one room to another.

2. Run Checkstyle and correct any reported style issues.

At the end, your goal is to have an implementation of your world that player can walk around. Make sure that you test this by walking around in the game and checking that the connections match

what you have listed on your map.

3 Scoring

For many of you, the player will earn points by finding their way into particular special rooms in your game. We are going to go ahead and add the code needed for this now. The steps to do this are:

1. Add support to the Room class so that each room knows the number of points a player gets for entering the room for the first time.

• Add a points field to your Room class which will contain the number of points a player gets for entering the room for the first time.

• Add a mutator for the points field in the Room class. Use this mutator in the createRooms method of the World class to set the points associated with those special rooms in the game that the player earns points for entering.

• Add an accessor for the points field in the Room class. In addition to doing the classic thing of returning the points associated with the room, the accessor method should also ensure that the points field is reset to 0 so that the player will earn points for entering the room the first time only.

2. Every time the player moves (e.g., the current room is set), get the points from the room and add it to the total score.

Name CS117 Project Stage 01: World – Page 3

4 Finishing

In order to continue you must:

• Add a description of each room in your world to your design document.

• Include a block-map of your world as it is described in your design document in your “documents” folder.

• Have all of your rooms and doors correctly entered in to your code.

• Have added the ability for entering rooms to increase the player’s score to the code.

When you are ready double check that you have been using good style (HINT: use Checkstyle to help you) and that all the code you have implemented is properly documented. Be sure that all of your changes are commited and pushed to GitHub.

Instead of uploading an archive of your project, you will be uploading a commit marker called an secure hash algorithm (SHA). Every commit in GitHub has a SHA marker attached to it. When you are happy with your submission, commit and push your changes to GitHub. Go to the GitHub website and check to make sure your last commit has made it to the server. Now copy the commit link by right-clicking on the “Latest commit” and selecting “Copy Link Location” (see figure):

Once you have copied the link, go to the submission page on Moodle and paste it into the sub- mission text area. The link that you get will read something like: https://github.com/kings-cs/ CS117-S16-JumpMaria/commit/2076ab47397891666d11a2474208f24e73fe576d. Don’t forget to “Submit Assignment” to notify the grader.

Found something interesting ?

• On-time delivery guarantee
• PhD-level professional writers
• Free Plagiarism Report

• 100% money-back guarantee
• Absolute Privacy & Confidentiality
• High Quality custom-written papers

Related Model Questions

Feel free to peruse our college and university model questions. If any our our assignment tasks interests you, click to place your order. Every paper is written by our professional essay writers from scratch to avoid plagiarism. We guarantee highest quality of work besides delivering your paper on time.

Sales Offer

Coupon Code: SAVE25 to claim 25% special special discount
SAVE