PROG2007 Programming II Assignment

Assignment Help JAVA Programming
Reference no: EM132880379

PROG2007 Programming II - Southern Cross University

Specifications

Your task is to complete various exercises in BlueJ, using the Java language, and to submit these via the MySCU link created for this purpose.
Marking criteria includes:
• Use of correct coding style, including the use ofcomments;
• Accuracy of coding;
• Use of suitable coding structures;
• Correct submission and naming conventions of assessment items as required.

Setting up your assignment
To set up your assignment, you will need to do the following:
• Create a folder called FirstNameLastName-A2.
• Copy the zuul-bad project in chapter 8 of the book projects to your FirstNameLastName-A2 folder.
• Create a Word document called FirstNameLastName-A2-documentation. Add your full name and student ID to the footer. Save this word document to your FirstNameLastName-A2 folder.
After you have set up your assignment, open the zuul-bad project In BlueJ, create a new instance of the Game class, run the play method and familiarise yourself with the game.
You should also:
• Review the code style guide in topic 7, as this is the style you will be required to use in your assignment.
• Download chapter 6 of the textbook from topic 7 on MySCU, as you will need this for the assignment.
Please Note:
• In the following parts of the assignment, the written exercises are to be done in the FirstNameLastName-A2-documentation word document, and the programming exercises are to be done in BlueJ.
• When you submit your assignment, you will need to zip up your FirstNameLastNameA2 folder and upload it onto MySCU.

Designing your game
Using the given zuul-bad game as a starting point, you must design your own game. Some possible game scenarios are described in Exercise 6.3 of the reference textbook. If you find it difficult to visualise this sort of game scenario, try modelling your game on some familiar realworld location. If you need additional inspiration, you can try playing the original Colossal Cave Adventure game.
You must have the following in your game:
• Your game scenario must have at least eight(8) different rooms.
• Your game scenario must have at least six (6) types of exits - north, south, east, west, up and down, and any other you require. This requirement does NOT mean that each room must have 6 exits.
• Your game scenario must include at least six (6) items that the player could find, pick up and potentially use.
• The player can only carry a maximum of five (5) items in the player's inventory.
• Your game must have some way for the player to win. Most likely, this will be by achieving some goal such as finding a particular item, surviving for some specified number of moves, or exiting a particular room ... whatever makes sense for your game.

Written Exercise 1
Write a brief description of your game in your word document. You must:
• Describe your game, including the back story and the setting of the game
• List the items in the game and how to use it
• Explain how the player wins

Written Exercise 2
Draw a map for your game scenario. You must:
• Label the rooms
• Label the exits (connections between rooms)
• Specify the locations of the items
The map can be hand-drawn. You do not need to use a drawing program, but your map must be clearly readable. This map must also be placed in the Word document.

Written Exercise 3
Your game has 6 exits; however, the zuul-bad game only has 4 exits. Yours will also have more rooms than zuul-bad, and they will have different names. Copy the following template into your word document and replace the text for each of the methods. You must identify and describe the changes you would need to make to the zuul-bad project to convert it into your game. You need to consider the additional exits and rooms you have in your game.

Written Exercise 4
The printWelcome method and the goRoommethods contain code duplication and both print a description of the current room and a list of the exits. This is not a good design. Explain why.

Programming exercise 1
Correct the problem of repeated functionality in the printWelcome and goRoom methods by refactoring the repeated functionality out of these methods into a method of its own called getRoomExitsAndDescription. Then call this new method in each place the description and exits need to be displayed.

Written Exercise 5
In the previous exercise, you created the getRoomExitsAndDescription method that prints a description of the current room and a list of the exits. This code is contained in the Game class. This is not a good design. Explain why.

Programming exercise 2
• Refactor the code that generates the list of the exits into a method named getExitString in the Room class. This method should return a String listing the exits from the room. For example, if the room has exits to the north and west, this method should return a String containing: "north west".
• Add a method called getLongDescription to the Room class that returns a String containing the description of the current room and a list of the exits of a room (hint: call the getExitString method you just created.
• Now that each room has a method that can print information about a Room refactor the code in the Game class to take advantage of this functionality. i.e. anywhere the Game class uses the getRoomExitsAndDescriptionmethod, change it to use your getLongDescription method.

Written Exercise 6
Now that you have made some changes to your code, create a template similar to the template I provided for written exercise 3 for the Game and Room class (note that it will be different as you now have new methods and have refactored code into different classes). Then identify and describe the changes you would need to make to the zuul-bad project to convert it into your game, just like you did in written exercise 3. You need to consider the additional exits and roomsyou have in your game. DO NOT WRITE THE CODE...YOU WILL NOT GET ANY MARKS. You must identify and describe the changes.

Written Exercise 7
Answer the following question.
• Has the design improved?
• You must explain why or why not.

Programming exercise 3
• Update the comments at the beginning of the Game class, the Room class and the message displayed by the printWelcome method so that they describe your game.
• Update the Game and Room class so that it creates the rooms and exitsthat you invented for your game. You do not need to add any items to your game yet. You will add items later.

Programming exercise 4
Your game scenario requires that there be items positioned throughout the world that the player can pick up and possibly use. An item sounds like something that should be represented by an object! So, create an Item class to represent the items in your game. You will need to decide what fields your Item class needs to have, what parameters the constructor will require and what methods the class will have. At a minimum, items will have a name and a description. However, items may have any other attributes that make sense for your game (e.g. weight, colour, value, destructive power ...)

Programming exercise 5
Now that there is a class for representing Items, we need a way to allow the rooms to contain an item. Modify the Room class so that one item can be added to or removed from the room. You will need to think about what fields and methods to add to the Room class. Also, think about what the methods that you add should do when an attempt is made to add an item to a room that already contains an item, or an attempt is made to remove an item from a room that does not contain an item.

Programming exercise 6
Now that a room can contain an item, when the player enters a room, he/she should be told about the item in that room (if there is one). Modify the appropriate code so that if the player enters a room containing an item, the name and description of the item are displayed along with the description of the room and the list of exits.

Programming exercise 7
Edit the code in the Game class so that the items for your game are created and added to the appropriate rooms at the start of the game. Recall that your game must include at least six items. Be sure to test any methods that you add or modify.
Play the game to ensure that your items are appearing in the rooms.
Now that rooms can contain items and a player will know when they enter a room with an item, it would be nice if the player could pick up and carry items. Add functionality to allow the player to pick up and drop items. Recall that the player should be able to carry a maximum of five items. How you do this is up to you. You could add a Player class or add the functionality to the Game class.

Programming exercise 8
Modify the Game class so that it will recognise the command take. When the user enters the "take" command, the item in the current room, if there is one, should be added to the items that the player is carrying, and a message should be printed indicating that the player has taken the item. If there is no item in the current room, the take command should print an error message. Be sure to test any methods that you add or modify. (Hint: Remember that one task of the Game constructor is to "teach" the CommandReader what words are valid commands. Thus, you will need to make a change in Game's constructor if you want to introduce a new command.)
Play the game to be sure the take command works!

Programming exercise 9
Modify the Game class so that it will recognise the command inventory. When the user types "inventory" the game prints the names of the items that the player is currently carrying. You should think carefully about where the list of item names should be generated. (Consider the fact that the player is carrying the items and think about how the list of exits for a room is generated and displayed.)
Play the game to be sure the inventory command works!

Programming exercise 10
Add support to the game for a drop command so that the player can drop an item by name (e.g. "drop book"). The dropped item should appear in the current room. If the current room already contains an item, the drop command should print an error message indicating that the room is full, and the player should continue to carry the item.
Play the game to be sure the drop command works!

Programming exercise 11
Implement at least twolocked doors to your game. The first door/entrance door should be locked, and for the second one, you may choose any other doors. The player needs to find (or otherwise obtain) a key/item to open a door. You will need to create a new "use" command to open the door. Hint: Reuse the take command to implement the use command. Adjust your winning condition if necessary.
Play the game to be sure the locked doors and the use command work!

Programming exercise 12
Add some form of time limit to your game. If a certain task is not completed in a specified time, the player loses. A time limit can easily be implemented by counting the number of moves or the number of entered commands. You do not need to use real-time.

Programming exercise 13
Modify the game so that only a list of the names of the items in a room are displayed when the player enters. Then add a look command that allows the player to look at an item in the current room by name. For example, if the player types look book and there is an item named "book" in the current room, your game should display the description of that item. If there is no such item, your game should display an error message. If the player enters the look command with no second word, it should display the entire description of the room, its exits and the names of any items again.

Attachment:- Programming.rar

Reference no: EM132880379

Questions Cloud

What was joseph stalin five-year plan : In the Soviet Union, what was Joseph Stalin's "Five-Year Plan?" A "revolution from above" in which the central government dictated massive industrial growth
Consumer protection as it relates to truthful advertising : What is the purpose of consumer protection as it relates to truthful advertising?
Which is not a typical component of a totalitarian system : Which is NOT a typical component of a "totalitarian" system? Media (mass communication, publishing, radio, etc.) that is completely controlled by the state.
Employers in employment relationship : What federal, state and international laws explain the rights, responsibilities and protections of employees and employers in the employment relationship?
PROG2007 Programming II Assignment : PROG2007 Programming II Assignment Help and Solution, Southern Cross University - Assessment Writing Service - Implement at least twolocked doors to your game
Prepare a separate schedule for Gaskin cost of goods sold : The income tax rate is 30% on all items of income. As a supporting document for Requirements 2 and 3, prepare a separate schedule for Gaskin cost of goods sold
What do see as the greatest challenges facing the eu today : Has the E. U. been successful in achieving its original goals? Explain. What do you see as the greatest challenges facing the EU today? Explain.
Differentiate areas of corporate social responsibility : Differentiate areas of corporate social responsibility (CSR) as they relate to business culture, public policy, ethics, marketing, and environmental concerns.
How affected the growth in the aviation industry : Choose an individual who stands out in your mind that has contributed to the growth of the Aviation industry. Write a brief biography of their life.

Reviews

Write a Review

JAVA Programming Questions & Answers

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd