This document provides specifications for an assignment to develop a simple text-based adventure game. Students are provided with partial starter code and must design and implement additional features to expand the game. This includes designing a game world map with locations and objects, adding movement in diagonal directions, modifying the code to implement the designed world, adding menu options for quitting, checking if the player reaches the goal, an inventory, and optionally adding logic for locked locations. Students must analyze each requirement, provide pseudocode, implement the features in code, and test their work. The assignment will be graded based on completing the requirements, code quality, and documentation.
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 đ Full Nigh...
Â
Discussions In your own words (75-150 words)Due Sunday, May .docx
1. Discussions In your own words (75-150 words)
Due Sunday, May 3, 2015
Principles of Finance
¡ Question B: Class, I'm sure many of you remember the
Publisher's Clearing House sweepstakes - like me, some of you
may even have been a finalist for the super prize of $10 million.
:-) If you did win this prize, you would not actually receive a
check for $10 million. Instead, you would receive $500,000 per
year for 20 years. Imagine that you actually were the lucky
winner. From a purely financial standpoint, would you be
willing to accept $8 million today rather than $500,000 per year
for the next 20 years? Why or why not? What non-financial
factors might also be considered?
Human Resources
¡ Incentive Plans
Variable pay-for-performance incentive plans are becoming
quite popular. However, there is also value in nonmonetary
incentives. They range from performance and recognition
rewards to simple verbal gestures in appreciation for a job well
done.
Think about where you work or have worked in the past.
(You can use a past work experience Dennis)
¡ What do the incentives consist of and do you think they are
successful?
¡ Assuming you are paid a fair wage, which type would you
prefer?
Game Map
2. 0 Start
a torch
1
a pot of soup
a carving knife
2
a pile of
stones
4
5
9 Goal
a treasure chest
6
a rumble-stick
a woollen hat
the Borrible Book of
Proverbs
8
a key
3. 3
a catapult
7
Room # Description
0 a small clearing at the entrance to the Rumble burrow. A large
wooden door leads into a small hill to the south, and to the east
there is
ventilation duct in the top of another hillock.
1 the Rumbleâs kitchen, filled with large and expensive-looking
cooking facilities. There is a ventilation duct in the roof to the
west, a door to the
east and a hole in the south wall, just large enough for a
Borrible to crawl through.
2 a small passageway with exits leading to the west and south.
3 a vacant guard-room, with a single door leading to the south-
west.
4 a large hall decorated with tapestries and paintings. Doors
lead to the north, north-east and south-east.
5 the Rumble library, with many shelves filled with hundreds of
books. There are exits to the north, east and south.
6 a guard room where captured Borribles are usually kept. An
open iron-barred door leads west, and a crude hole has been
made in the north wall.
7 an extravagantly decorated passageway with thick carpet and
wood-lined walls. An open passage leads to the north-west and
there is a locked
4. door to the south-west.
8 Torreycanyonâs workshop. The walls are lined with tools, and
the floor is stained with oil. There is a door in the north wall.
9 the headquarters of Vulgarian, Leader of the Rumble High
Council. A door leads north-east.
ITECH 1000/ITECH 5000 Programming 1 Assignment 1 2015
Sem1
Assignment 1 â Development of a Simple Menu Driven Text
Adventure
Due Date: 4pm, Thursday Week 7 (see Course Description for
further details)
Please see the Course Description for further information
related to submission date, extensions for
assignments and Special Consideration. You may be required to
demonstrate your working code to your tutor
in your lab class.
Project Overview
For this assignment you will be provided with incomplete
sample starter code that you can modify and build
upon. Your task will be to carry out the design, analysis, coding
and testing to add several additional features
to this sample code. You are expected to fully comment the
provided code as well as your own code.
This project will implement a simple menu-driven text
adventure. Text adventure games were very popular in
the early days of computer gaming, as they could run even on
low-end computer systems which could not
5. support advanced graphics. The player controlled a character
within an environment such as a fantasy castle
or a spaceship. The environment was made up of a series of
interconnected locations, which were described
to the player by written descriptions. By entering short text
commands such as âgo northâ or âget keyâ the
player could explore these locations, pick up and use objects
within the environment, fight enemies and so on.
Generally the player had to solve a series of puzzles to enable
them to achieve a goal in the game such as
reaching a goal location where treasure was stored. Many of the
classic text adventures are now freely
available online, so if you are interested you may want to try
some of them:
⢠Colossal Cave (the first text adventure):
http://rickadams.org/adventure/
⢠The Hobbit (made in Melbourne!):
https://archive.org/details/msdos_Hobbit_The_1983
⢠The Hitchhikerâs Guide to the Galaxy:
http://www.bbc.co.uk/programmes/articles/1g84m0sXpnNCv84
GpN2PLZG/the-hitchhikers-guide-to-
the-galaxy-game-30th-anniversary-edition
Developing a complete text adventure is too challenging at this
stage of the course, so we will make a number
of simplifications:
⢠To avoid having to process commands made up of one or more
words, all user input will be through a
numeric menu.
⢠Interaction with objects in the game will be very limited.
6. The provided partial solution source code implements some
fundamental aspects of the text adventure:
⢠The use of arrays (both 1D and 2D) to store information about
the map which defines the game world,
the descriptions of locations, and the description and location of
game objects
⢠A simple numeric menu which the player uses to enter
commands
⢠The ability for the player to move between locations in the
game world by moving in the four cardinal
compass directions (north, east, south and west)
CRICOS Provider No. 00103D ITECH1000/5000 Programming
1 Assignment 1 Specification Page 1 of 6
http://rickadams.org/adventure/
https://archive.org/details/msdos_Hobbit_The_1983
http://www.bbc.co.uk/programmes/articles/1g84m0sXpnNCv84
GpN2PLZG/the-hitchhikers-guide-to-the-galaxy-game-30th-
anniversary-edition
http://www.bbc.co.uk/programmes/articles/1g84m0sXpnNCv84
GpN2PLZG/the-hitchhikers-guide-to-the-galaxy-game-30th-
anniversary-edition
Project Specification
Your task will be to first answer some questions testing your
comprehension of the partial solution, and then to
extend this partial solution to provide additional features:
7. 1. Answer the questions listed below under Part A â save your
answers into a Word document for
submission along with remainder of your assignment.
2. Design your own unique game world, which must exhibit the
following characteristics:
a. It should consist of between 10 and 20 interconnected
locations (please donât exceed this limit
as it will slow down the marking process)
b. All eight possible directions of movement (N, S, E, W, NE,
SE, SW, NW) must be used at least
once in the game map.
c. The world should contain 10 objects. At least one location
must contain no objects, and at least
one location must contain multiple objects.
d. Every location and object must have its own unique
description.
e. There must be a specified âgoalâ location which the player is
aiming to reach â this will be used
later within Stage 6 of the project.
Your design should be clearly documented in the form of a
world map and table of descriptions similar
to the example provided on moodle.
3. Extend the menu and related code so that the player can also
move in the ordinal directions (north-
east, south-east, south-west, north-west)
4. Modify the program code and data so as to implement the
game world designed in Stage 2.
8. 5. Add a âquitâ option to the menu, and modify the loop in the
main() method so that it exits if the user
enters this command.
6. Further modify the loop so that it exits and displays a
suitable congratulatory message if the player
reaches a specific âgoalâ location within the game-world.
7. Modify the room description method so that the player
automatically picks up any objects in their
current location. If the room description is redisplayed, those
objects should no longer be listed as
being in that location (hint: use a special value such as -1 to
indicate that an object is in the playerâs
possession).
8. Add an additional âinventoryâ command to the menu and
implement a method which is called when this
command is entered, which will list all of the objects currently
in the playerâs possession.
9. Now that no further commands will be added to the menu,
modify the menu code to ensure that a valid
selection has been made by the player. If not, display an error
message and prompt them to enter a
new value. Repeat this until valid input is obtained.
10. This is the most advanced aspect of the project â do not
attempt this unless you have all the
other requirements working. Modify the program code so that
the goal location cannot be entered
unless the player is carrying a particular object (e.g. a key). If
the player tries to enter the room without
this object then an appropriate message should be displayed.
For full marks for this section, your
9. solution should be easily applicable to other game worlds (for
example worlds with multiple locked
doors).
The Assessment section of the moodle site contains a video
demonstrating a fully working version of the
program which should help to clarify these requirements.
CRICOS Provider No. 00103D ITECH 1000/5000 Programming
1 Assignment 1 Specification Page 2 of 6
Resources Provided
The following files/links are available on Moodle:
⢠An electronic copy of this assignment specification sheet
⢠The General Guide for the Presentation of Academic Work
⢠A sample incomplete program to get you started
(TextAdventure.java)
⢠A video of a complete version of the project
⢠A sample design document for the game world used in the
video.
NOTE: If you use any resources apart from the course material
to complete your assignment you MUST
provide an in-text citation within your documentation and/or
code, as well as providing a list of references in
APA formatting. This includes the use of any websites, online
forums, books or text books. If you are unsure
of how to do this please ask for help.
Part A â Code Comprehension
10. Sample code has been provided in Moodle. Use the sample
code provided to answer the following questions.
Save your answers in a Word or pdf file, and include that file in
your assignment submission:
1. Explain why NO_EXIT has been declared and used in
defining the contents of the map array, rather
than just directly using the value 99999 in the map array
definition.
2. What is the value stored in map[2][1]? What is the
interpretation of this value in terms of the structure
of the game world? .
3. Explain what change would need to be made to the code in
order for the potato object to be in the log-
cabin rather than the clearing.
4. Describe the change (if any) in the program behaviour if the
describeLocation() method was changed
to the following code:
private void describeLocation()
{
System.out.println();
System.out.println("You are in " +
description[playerLocation]);
System.out.println("In this location there is: ");
for (int i=0; i<objectLocation.length; i++)
{
if (objectLocation[i]==playerLocation)
{
System.out.println("t" + objectName[i]);
numObjects++;
}
11. else
{
System.out.println("tnothing");
}
}
}
5. The move method contains the following statement:
if (nextLocation==NO_EXIT)
Explain why the == operator is used here rather than the =
operator.
CRICOS Provider No. 00103D ITECH 1000/5000 Programming
1 Assignment 1 Specification Page 3 of 6
http://www.ballarat.edu.au/generalguide
6. What is the purpose of the do..while loop in the startGame
method?
7. Within the startGame method, the following call is made to
the move method:
move(selection-1);
Explain why the actual parameter is set to selection-1 rather
than selection.
Part B â Design
Design and document a game world which meets all of the
12. requirements specified under Stage 2 of the
Project Specification. Include your design within the file
produced during Part A.
Part C â Program Analysis, Implementation and Development
It is suggested that you design, implement and test each of
Stages 3 to 10 in order â completing each section
completely and correctly before proceeding to the next.
For each stage you should first design a solution in the form of
pseudo-code to carry out the required task.
Include this pseudo-code as part of your project documentation,
clearly indicating which Stage it belongs to.
Once you have completed your pseudo-code, perform a desk
check of your logic. If you find any problems with
your pseudo-code you should redesign and retest.
Once the design is correct, implement the program in Java. You
could be using the sample java code
provided as a starting point and your first task would be to
appropriately comment the code provided. Once
you have finished this task, then you can update the code so that
it implements the algorithm you have
designed.
Your code should use appropriate programming standards and
should be well documented/commented. You
are permitted to discuss the sample program with your peers in
order to understand it. However, you must
ensure that you complete this section individually. It is
expected that no two students will have the same
program.
NOTE: Code that does not successfully compile will not be
marked. In such cases, only the specification,
design and question sections of the assignment will be awarded
13. marks. If you are unable to get your code to
compile, please state this clearly in your submission and
comment out the offending code prior to handing in
your work. Even if your code compiles but has warnings, marks
will be deducted. (See your tutor for help prior
to submission). You are strongly urged to keep backup files as
you work on the project so that you can revert
to an earlier version if you break an aspect of the program while
attempting to implement one of the later
requirements.
Part D â Testing
You should be testing your program as each stage is completed,
and again once the program is complete.
You should document the testing data, process and results (e.g.
in the form of a table) and include this within
your project documentation. Your mark for this section will
reflect the thoroughness of your testing and the
quality of your documentation.
CRICOS Provider No. 00103D ITECH 1000/5000 Programming
1 Assignment 1 Specification Page 4 of 6
Assignment Submission
Your assignment should be completed according to the General
Guidelines for Presentation of Academic
Work.
The following criteria will be used when marking your
assignment:
14. ⢠successful completion of the required tasks
⢠quality of code that adheres to the programming standards for
the course including:
⢠comments and documentation
⢠code layout
⢠meaningful variable names (it is expected that you will
change the names of variables in the sample
code provided and alter the size of the array to suit your
circumstances)
⢠check that data entered is valid
You are required to provide documentation, contained in an
appropriate file, which includes:
⢠a front page - indicating your name, a statement of what has
been completed and acknowledgement
of the names of all people (including other students and people
outside of the university) who have
assisted you and details on what parts of the assignment that
they have assisted you with
⢠a table of contents and page numbers
⢠answers to the questions from Part A
⢠the design of your game world
⢠the pseudocode for each Stage of the project
⢠details of test data and evidence that the testing was conducted
⢠list of references used (APA style); please specify if none
have been used.
Using the link provided in Moodle, please upload the following
in one zip file:
15. 1. your code (SurnameStudentIdAssign1.java)
2. your report (surnameStudentIDAssign1.docx)
If you encounter any problems in uploading files to moodle
please report this to your lecturer or other staff
member as soon as possible.
It is your responsibility to check that you are submitting the
correct version of your files.
You may be required to demonstrate your working code to your
tutor in your lab class.
CRICOS Provider No. 00103D ITECH 1000/5000 Programming
1 Assignment 1 Specification Page 5 of 6
Marking Guide
PART A â Code Comprehension
/7
PART B â Design
For satisfying all requirements specified for Stage 2.
/6
PART C â Analysis, Implementation and Development
For each stage of stages 3..10 in the specification
⢠2 marks for pseudo-code
⢠6 marks for implementation
16. /64
PART D â Testing
For thoroughness of testing and quality of documentation of
testing process
/10
Following correct coding style
/10
Satisfying documentation requirements
(e.g. Table of Contents, references, spell-checking) /3
Total /20 /100
CRICOS Provider No. 00103D ITECH 1000/5000 Programming
1 Assignment 1 Specification Page 6 of 6
Assignment 1 â Development of a Simple Menu Driven Text
AdventureDue Date: 4pm, Thursday Week 7 (see Course
Description for further details)Project OverviewProject
SpecificationResources ProvidedPart A â Code
ComprehensionPart B â DesignPart C â Program Analysis,
Implementation and DevelopmentPart D â TestingAssignment
SubmissionMarking Guide