| | |
Java Software Help
![]() |
•
•
Join Date: Nov 2009
Posts: 1
Reputation:
Solved Threads: 0
-1
#2 23 Days Ago
DUNGEON ADVENTURE
PROGRAM PURPOSE:
The purpose of this is assignment is for you to practice working with two dimensional arrays as well as to continue developing your skills at working with multiple classes. The code that you write for this assignment will be used in Assignment 2. It is imperative you get the program working, since Assignment 2 directly depends on it.
For this assignment, you will design 4 classes. The details of the classes are provided below.�
PROGRAM DETAIL:
This is an adventure game where a hero is randomly placed within a dungeon that is a 5 x 5 2D array. The hero needs to find the two pieces of the Crown of Coding, and take them to the exit to win the game. Some features of the dungeon will prove a hindrance to the hero's task (pits), while some will prove helpful (healing potions). Your task is to write a correct and well documented java program that will simulate this adventure. NOTE: You are welcome to implement a variation on this theme provided you adhere to the spirit of what is being asked on this assignment.
CLASS DETAILS:
Room.java
Contains default constructor and all methods you deem necessary -- modular design is CRUCIAL
Contains the following items/behaviors
(Possibly a) Healing Potion - heals 5-15 hit points (this amount will be randomly generated -- you can modify the range)
(Possibly a) Pit - damage a pit can cause is from 1-20 hit points (this amount will be randomly generated - you can modify the range)
(Possibly an) Entrance - only one room will have an entrance and the room that contains the entrance will contain NOTHING else
(Possibly an) Exit - only one room will have an exit and the room that contains the exit will contain NOTHING else
(Possibly a) Crown Piece - two pieces in game and they will never be in the same room
Doors - N, S, E, W
10% possibility (this is a constant that you can modify) room will contain a healing potion, vision potion, and pit (each of these are independent of one another)
Extra Credit (depending on team size) Vision Potion - can be used to allow user to see eight rooms surrounding current room as well as current room (location in maze may cause less than 8 to be displayed)
Must contain a toString method that builds a 2D Graphical representation of the room (NOTE: you may use any graphical components in Java that you wish). The (command line) representation is as follows:
* - * will represent a north/south door (the - represents the door). If the room is on a boundary of the maze (upper or lower), then that will be represented with ***
East/west doors will be represented in a similar fashion with the door being the | character as opposed to a -.
In the center of the room you will display a letter that represents what the room contains. Here are the letters to use and what they represent:
M - Multiple Items
P - Pit
I - Entrance (In)
O - Exit (Out)
V - Vision Potion
H - Healing Potion
E - Empty Room
Example: Room 1,1 might look like
* - *
| P |
* - *
Room 0,0 might look like
* * *
* E |
* - *
Hero.java
Contains an explicit value constructor for the name of the hero
Contains at least the following:
Hit Points - initially set to 75 - 100 upon creation (randomly generate - you can change the range)
The number of Healing Potions
The number of Vision Potions
The number of Crown Pieces found
Moves the Hero around the Dungeon
Increases or decreases the Hit Points accordingly
Contains a toString method that builds a String containing:
Name
HitPoints
Total Healing Potions
Total Vision Potions
Total Crown Pieces Found
NOTE: The Hero and the Dungeon will need to interact. When the Hero walks into a room if there is a potion in the room, the Hero automatically picks up the potion. Likewise if there is a pit in the room, the Hero automatically falls in the pit and takes a Hit Point loss. All of these changes obviously affect the room. For example, the Hero walks into a room that contains a Healing Potion. The Hero will pick up the potion, changing the Hero's potion total, as well as changing the room's potion total.
Dungeon.java
Creates/contains a 5 X 5 2D Array of Rooms (you can make this larger if you wish)
Places the Entrance, the Exit, and the Crown Pieces. NOTES: the entrance and exit are empty rooms. The crown pieces can not be at the entrance or the exit.
Maintains location of the Hero in the Dungeon
Contains a toString method that builds a String containing information about the entire dungeon.
DungeonAdventure.java
Contains the main method
Provides an introduction to the game describing what the game is about and how to play
Creates a Dungeon Object and a Hero Object
Does the following repetitively:
Prints the current room (this is based on the Hero's current location)
Determines the Hero's options (Move, Use a Potion)
Continues this process until the Hero wins or dies
NOTE: Include a hidden menu option for testing that prints out the entire Dungeon -- specify what the menu option is in your documentation for the DungeonAdventure class
At the conclusion of the game, display the entire Dungeon
WORKING AS A TEAM:
You may work in teams of up to three students. If you work in a team, you will turn in one assignment per team with the DungeonAdventure class containing a DETAILED account of each team member's contribution. There is enough work to go around where each team member should be responsible for a class.
If you work as an individual then there is a possibility of extra credit (Vision Potion). If you work as a team, then you must implement the extra credit (Vision Potion) as part of your assignment, (and you do NOT get the extra credit points).
If you have questions about working on a team, please see your instructor. Teams may be cross-sectional.
EXTRA CREDIT:
(10 points) Implement an additional potion - the Vision Potion. The Vision Potion allows you to see the rooms that are immediately around you (this is up to eight rooms depending on your location in the dungeon). This potion only lasts for a single turn. Example:
The hero is currently in room 1,1. If the hero drinks the Vision Potion, then the following rooms are visible for a single turn.
Room 0,0 Room 0,1 Room 0,2
Room 1,0 Room 1,1 Room 1,2
Room 2,0 Room 2,1 Room 2,2
REMINDER: If you work in teams of three, then this option is required.
Additional extra credit (up to 10 points) MAY be given for additional features, originality, creativity, and oh yeah, well designed code. This is at the discretion of the grader so is not guaranteed. If you feel you did things that warrant extra credit, clearly describe these things as part of your documentation.
Of course, the wise student will first get the required features of the program implemented recognizing that the assignment is quite involved!
TO TURN IN:
All .java files in a jar file named based on the team members (yes, the name might be long)
PROGRAM PURPOSE:
The purpose of this is assignment is for you to practice working with two dimensional arrays as well as to continue developing your skills at working with multiple classes. The code that you write for this assignment will be used in Assignment 2. It is imperative you get the program working, since Assignment 2 directly depends on it.
For this assignment, you will design 4 classes. The details of the classes are provided below.�
PROGRAM DETAIL:
This is an adventure game where a hero is randomly placed within a dungeon that is a 5 x 5 2D array. The hero needs to find the two pieces of the Crown of Coding, and take them to the exit to win the game. Some features of the dungeon will prove a hindrance to the hero's task (pits), while some will prove helpful (healing potions). Your task is to write a correct and well documented java program that will simulate this adventure. NOTE: You are welcome to implement a variation on this theme provided you adhere to the spirit of what is being asked on this assignment.
CLASS DETAILS:
Room.java
Contains default constructor and all methods you deem necessary -- modular design is CRUCIAL
Contains the following items/behaviors
(Possibly a) Healing Potion - heals 5-15 hit points (this amount will be randomly generated -- you can modify the range)
(Possibly a) Pit - damage a pit can cause is from 1-20 hit points (this amount will be randomly generated - you can modify the range)
(Possibly an) Entrance - only one room will have an entrance and the room that contains the entrance will contain NOTHING else
(Possibly an) Exit - only one room will have an exit and the room that contains the exit will contain NOTHING else
(Possibly a) Crown Piece - two pieces in game and they will never be in the same room
Doors - N, S, E, W
10% possibility (this is a constant that you can modify) room will contain a healing potion, vision potion, and pit (each of these are independent of one another)
Extra Credit (depending on team size) Vision Potion - can be used to allow user to see eight rooms surrounding current room as well as current room (location in maze may cause less than 8 to be displayed)
Must contain a toString method that builds a 2D Graphical representation of the room (NOTE: you may use any graphical components in Java that you wish). The (command line) representation is as follows:
* - * will represent a north/south door (the - represents the door). If the room is on a boundary of the maze (upper or lower), then that will be represented with ***
East/west doors will be represented in a similar fashion with the door being the | character as opposed to a -.
In the center of the room you will display a letter that represents what the room contains. Here are the letters to use and what they represent:
M - Multiple Items
P - Pit
I - Entrance (In)
O - Exit (Out)
V - Vision Potion
H - Healing Potion
E - Empty Room
Example: Room 1,1 might look like
* - *
| P |
* - *
Room 0,0 might look like
* * *
* E |
* - *
Hero.java
Contains an explicit value constructor for the name of the hero
Contains at least the following:
Hit Points - initially set to 75 - 100 upon creation (randomly generate - you can change the range)
The number of Healing Potions
The number of Vision Potions
The number of Crown Pieces found
Moves the Hero around the Dungeon
Increases or decreases the Hit Points accordingly
Contains a toString method that builds a String containing:
Name
HitPoints
Total Healing Potions
Total Vision Potions
Total Crown Pieces Found
NOTE: The Hero and the Dungeon will need to interact. When the Hero walks into a room if there is a potion in the room, the Hero automatically picks up the potion. Likewise if there is a pit in the room, the Hero automatically falls in the pit and takes a Hit Point loss. All of these changes obviously affect the room. For example, the Hero walks into a room that contains a Healing Potion. The Hero will pick up the potion, changing the Hero's potion total, as well as changing the room's potion total.
Dungeon.java
Creates/contains a 5 X 5 2D Array of Rooms (you can make this larger if you wish)
Places the Entrance, the Exit, and the Crown Pieces. NOTES: the entrance and exit are empty rooms. The crown pieces can not be at the entrance or the exit.
Maintains location of the Hero in the Dungeon
Contains a toString method that builds a String containing information about the entire dungeon.
DungeonAdventure.java
Contains the main method
Provides an introduction to the game describing what the game is about and how to play
Creates a Dungeon Object and a Hero Object
Does the following repetitively:
Prints the current room (this is based on the Hero's current location)
Determines the Hero's options (Move, Use a Potion)
Continues this process until the Hero wins or dies
NOTE: Include a hidden menu option for testing that prints out the entire Dungeon -- specify what the menu option is in your documentation for the DungeonAdventure class
At the conclusion of the game, display the entire Dungeon
WORKING AS A TEAM:
You may work in teams of up to three students. If you work in a team, you will turn in one assignment per team with the DungeonAdventure class containing a DETAILED account of each team member's contribution. There is enough work to go around where each team member should be responsible for a class.
If you work as an individual then there is a possibility of extra credit (Vision Potion). If you work as a team, then you must implement the extra credit (Vision Potion) as part of your assignment, (and you do NOT get the extra credit points).
If you have questions about working on a team, please see your instructor. Teams may be cross-sectional.
EXTRA CREDIT:
(10 points) Implement an additional potion - the Vision Potion. The Vision Potion allows you to see the rooms that are immediately around you (this is up to eight rooms depending on your location in the dungeon). This potion only lasts for a single turn. Example:
The hero is currently in room 1,1. If the hero drinks the Vision Potion, then the following rooms are visible for a single turn.
Room 0,0 Room 0,1 Room 0,2
Room 1,0 Room 1,1 Room 1,2
Room 2,0 Room 2,1 Room 2,2
REMINDER: If you work in teams of three, then this option is required.
Additional extra credit (up to 10 points) MAY be given for additional features, originality, creativity, and oh yeah, well designed code. This is at the discretion of the grader so is not guaranteed. If you feel you did things that warrant extra credit, clearly describe these things as part of your documentation.
Of course, the wise student will first get the required features of the program implemented recognizing that the assignment is quite involved!
TO TURN IN:
All .java files in a jar file named based on the team members (yes, the name might be long)
Last edited by peter_budo; 22 Days Ago at 5:35 am.
![]() |
Similar Threads
- Front-end Java Software Engineer for Digital Video/Media Market Leader - Los Angeles (Software Development Job Offers)
- Java Software Engineer (Software Development Job Offers)
- Front-end Java Software Engineer for Digital Video/Media Market Leader (Software Development Job Offers)
- Senior Java Software Engineer for Digital Video/Media Market Leader in El Segundo/LAX (Web Development Job Offers)
- Java Software Engineer (Software Development Job Offers)
- Software Engineer (Software Development Job Offers)
- News Story: Java goes Open Source (JSP)
Other Threads in the Java Forum
- Previous Thread: creating files with "outfile..." (file can't found!)
- Next Thread: Palindrome program using stack & queue
| Thread Tools | Search this Thread |
advertising ajax api apple applet application applications appstore asp automation blackberry blog browser business c++ class code component developer development download downloads eclipse error firefox free fsf game games gaming gnu google googleearth gui hardware ie8 image india intel internet iphone itunes java javafx javascript jetbrains julia kaspersky linux london mac malware marketing mcafee method microsoft mobile mozilla msdn music mysql newbie news nintendo novell office openoffice opensource os piracy problem programming python rim rss search security sell set sims smartphone software space spyware sql storm sun swing technology threads tree trojan uk update virtualization vista web wiki windows windows7







