The file has been uploaded. Also, I'm open to changing the date.
Individual Assignment Read First: Follow the coding Standard at the bottom of the page!! You will lose points if you don’t comply to those Standards Part 1 Overview of the Adventure Game The adventure game you will implement for this assignment—like any of the text-based adventure games that were demonstrated by your classmates in class earlier this semester—takes place in a virtual world in which you, as the player, move about from one location to another. The locations, which are traditionally called “rooms” even though they may be outside, are described to you through a written textual description that gives you a sense of the geography. You move about in the game by giving commands, most of which are simply an indication of the direction of motion. For example, you might move about as follows: Overview of the data files The adventure program you will create for this assignment and all followed up assignments is entirely data driven. Just like your final project. The program itself doesn’t know the details of the game geography, the objects that are distributed among the various rooms, or even the words used to move from place to place. All such information is supplied in the form of data files, which the program uses to control its own operation. The ultimate goal is if you run the program with different data files, the same program will guide its players through different adventure games. For this first assignment, there must be an associated data file: · Rooms.txt, which defines the rooms and the connections between them. · You can also have two text files, one to define rooms and one to define connections. · The number of the text file and the structure of the text files are entirely up to you as long as you accomplish the task. For example, the room data file could have the following information: · A room number, which must be greater than zero · Its name, which is a one-line string identifying the room · Its description, which is a multiline array describing the room · A flag indicating whether the room has been visited · A navigation table specifying the exits and where they lead For example, this data file is not a Java program, but is instead text file that describe the rooms and their connections. The program you will write for this assignment must: 1- Read this file into an internal data structure, which it then displayed to the user on the console to guide the player through the game. 2- Allow the player to be able to move between rooms by reading and executing navigation commands entered by the user through the console 3- Your program should be able to track visited rooms and display the message visited on the console if the player revisit a room. 4- A total of 6 rooms is required for this assignment with the following navigation command: a. North b. East c. South d. West Important notes: 1- Please note that this is not a programming class where I am expected to trouble shoot your code. However, I found over the years of teaching this class that students need similar programming exercise to review their programming skills in preparation for the final project deliverable. To help you I will discuss possible solutions in the class and show you sample code and record some videos and you will put time and efforts to get your code up and running properly. 2- Use either JAVA Eclipse or IntelliJ 3- Grading code takes lots of time so keep your code clean, organized and understandable by adding comments. The more organized your code is the quicker I can grade and the faster you will get a feedback. 4- Don’t fix the file path in your code 5- If your code doesn’t run you will get ‘0’ for this assignment. If your code runs but have partial behaviuor you will get partial credits. e.g. your code runs and allows me to navigate between rooms but doesn’t keep track of visited rooms, then I will take points off for this missing requirement. 6- The second and the third assignment will add more to the first assignment. Therefore, it is important to finish this assignment on time and as directed. Otherwise, you will fall behind quickly. 7- Below is a sample scenario: Which direction do you want to go? (N,S,E,W) E You are at Room 2 Which direction do you want to go? (N,S,E,W) W You cann’t go this way Which direction do you want to go? (N,S,E,W) S You are at Room 4 Which direction do you want to go? (N,S,E,W) N This look familiar You are at Room 2 Part 2 In games of this sort, the player wanders around from one location to another, picking up objects, and solving simple puzzles. The program you will create for this assignment is considerably less elaborate than the final project deliverable and it therefore limited in terms of number of rooms, items, monsters etc. Even so, you can still write a program that captures much of the spirit and flavor of the final game. This handout contains what you need to know about the second individual deliverable along with a number of hints and strategic suggestions. Assumptions: 1- Player can navigate between rooms 2- Map information (including rooms’ descriptions and connections) are being retrieved from text file 3- Your code is keeping track of visited rooms Goal: implement the items and puzzle feature as directed below. Items feature: Now that the player is able to navigate between different rooms, for the second assignment deliverable your goal is to allow the player to interact with 3 different items of your choice in three different rooms. Interaction behaviuor with items should include the exact following commands: 1- Pickup item-name: this command will add the item to the player inventory. a. Your game should display that the item has been added to the player inventory by displaying the following message to the console/GUI “Item-name has been picked up from the room and successfully added to the player inventory. b. Upon picking up an item from a room, the item should disappear from the room and the player should not see the item again when revisiting the same room. 2- Inspect item-name: this command will allow the player to retrieve the description of the examined item. Your game should display the description of the examined item to the console/GUI. The item must be picked up before the player is able to trigger the inspect functionality. 3- Drop item-name: this command should allow the player to access any item in the inventory and drop it in the current room. a. When an item is dropped, it should be dropped in the current room and be available for the player to interact with again for reexamine and re-pickup. b. Upon dropping an item, your game should display the following message to the console/GUI “Item-name has been dropped successfully from the player inventory and placed in room-name” The item must be picked up first before the player is able to drop the item. Hint: The items will move around in the game as the player picks them up or drops them off. Therefore, your implementation must therefore provide a facility (internal data structure) for storing objects in a room and in the player’s inventory of items. The easiest approach is to use an ArrayList, which makes it easy to add and remove items. Under the assumption that you have followed the suggested text file structure (You are allowed to use different structure as long as you are able to fulfill the requirements) your text file for this deliverable could look like the one in the figure below: You will need to consider adding another text file that holds the items information e.g. the figure below: The entries in the items text file can consist of three lines indicating the word used to refer to the item, the description of the item that appears when you encounter it, and the room number in which the item is initially located. For example, this file indicates that the keys are in room 3, the lamp is room 8, and the rod is in room 12. Puzzle feature: Your goal is to allow the player to interact with one puzzle of your choice in any of the rooms. The interaction behavior with the puzzle should include the following commands: 1- Once the player enters a room with a puzzle, the game must display the puzzle description to the console/GUI and wait for the player to enter an answer. 2- Each puzzle has number of attempts allowed. This number should be retrieved from the text file. 3- If the player enters the correct answer, the game must display “you solved the puzzle correctly!” and the puzzle must disappear from the room. Note, the puzzle should disappear from the game and never show up again while navigating back to the same room. 4- If the player enters wrong answer, the game will subtract 1 attempt from the allowed attempt and allow the player to provide an answer again. The game must display “the answer you provided is wrong, you still have number-of-attempt. Try one more time” 5- If the player is not able to solve the puzzle correctly after the given number of attempts, the game will display “failed to solve” message to the player and the puzzle will remain in the current room. 6- If the player fails to solve a puzzle and navigate back to the puzzle room, the interaction between player and puzzle will reset according to the listed instructions above (1 through 5). Hit: in the text file, you can link the puzzle to the room similar to items. You need to consider adding puzzle text file to hold the following information puzzle name, description, answer, number of attempts etc. Important notes: 8- Please note that this is not a programming class where I am expected to trouble shoot your code. However, I found over the years of teaching this class that students need similar programming exercise to review their programming skills in preparation for the final project deliverable. To help you I will discuss possible solutions in the class and show you sample code and record some videos and you will put time and efforts to get your code up and running properly. 9- Use either JAVA Eclipse or IntelliJ 10- Grading code takes lots of time so keep your code clean, organized and understandable by adding comments. The more organized your code is the quicker I can grade and the faster you will get a feedback. 11- Don’t fix the file path in your code 12- If your code doesn’t run you will get ‘0’ for this assignment. If your code runs but have partial behaviuor you will get partial credits. e.g. your code runs and allows me to navigate between rooms but doesn’t keep track of