A maze is solved when you choose the correct sequence of paths to reach its end. This reason is why mazes are so often used to represent search problems in computer science. A search is complete once it fetches the relevant information and returns it to who or whatever made the initial inquiry. Beyond computer science, the maze structure is applied to different problem-solving challenges ranging from determining the correct sequence to order tasks in
In this assignment, your goal is to write a traversal search method that will “solve” a maze. Not just any maze, though. The maze you must solve is a representation of an old-school adventure game which contains puzzles dependent upon accessing certain spaces in the game in a certain order. If you did not access things in the right order, the game resulted in a loss or an “unwinnable” state. Therefore, the game needed to be traversed in a precise order.
Your goal, then, is to initialize a tree structure of data that can be traversed by a series of commands. You need to write the following things:
Instantiate the “maze” with each node pointing to or containing a corresponding data structure that it is responsible for managing. In terms of representing one of these adventure games, each node should point to or contain “items” that the “player” can modify.
You should be able to use node data to verify if something the player has can be used with something else in the node data (e.g. your player object contains an item and the item is interactable with something the node points to). This should be structured in a way that helps the player solve puzzles.
Utilize an inventory item in a corresponding node that you can use that item in. The method should, if appropriate, remove the item from the inventory and adjust the game state as appropriate. For example, some items might allow you to traverse to part of the data structure that was not previously accessible.
This does not all need to run in real time, but if it is compiled with a series of correct methods through the main method, then it should produce a clearly expected output.
The Mazes
You need only select one maze to initialize as a data structure. There are many to choose from below. Peek through the guides. Consider how you might want to construct your trees to emulate the maze structure.
King’s Quest V - This walkthrough contains a reference for how to achieve the maximum score in the game (260 points) as well as “time waster” activities. You can ignore the time wasters, but should try to instantiate the necessary methods for fully traversing the data: [login to view URL] to an external site.
The Secret of Monkey Island - This walkthrough is a bit shorter and more forgiving than King’s Quest V, with less items to worry about in your traversal. But that might also make it more challenging to visualize a strong node structure to contain the game’s maze: [login to view URL] to an external site.
The Legend of Zelda - Less of a point and click adventure and more of an open-world exploration in its day and age. This game is vast, and it would honestly be more than enough to instantiate each node in the overworld map and instantiate a few of the “dungeons” that might be subtrees of other nodes. There’s a lot going on in this one, and is a challenge: [login to view URL] to an external site.
King’s Quest I - More simplified form of adventure game. This guide also has a lot of ascii stylized maps to assist in visualizing how you would generate nodes for tree traversal: [login to view URL] to an external site.
Deliverables
- A program that instantiates a tree-like data structure using node objects. Those nodes should be capable of containing or pointing to relevant to the “maze” you are trying to replicate (e.g. if you are replicating King’s Quest V, then you should include relevant values such as necessary objects to interact with).
- You should have at least the following classes, but could also have more:
A node class with appropriate attributes to hold data. Those attributes can be anything you think is a useful way of organizing and accessing data (e.g. an array, hashmap, String, or even simply integer data)
A tree structure class with accompanying methods for inserting nodes into the tree, searching those nodes, and modifying any data within the nodes that corresponds with other classes as needed.
A player class that represents where the user might be while traversing the data structure at a given point. That class should have all the necessary attributes and methods for manipulating other data, such as usable items, an inventory, and puzzles.
- A main file that, when compiled, demonstrates how the structure is traversed and the effects that each method has on that traversal process.
- A 1 paragraph reflection on the process of building this program. What was easy about it, and what was challenging? Did anything surprise you about the process and did you have to change how you would normally approach a problem like this?
Hello , Sir/ Mam
I read your requirement and also check attachment i will do that.
Please come on chat we will discuss more about this. I believe that my skill set makes me the ideal candidate for this project
I will be waiting for your reply . Thank you !
Hi, I have read and understood your job description,
I have great expertise in Java for over 6+ years. Have done similar work in the past. please check my reviews.
Feel free to drop a message for further discussion. Looking forward to start immediately
Hello there! My name is Sanu and I am a freelance Java developer with over 10 years of experience. As you can see from my profile, I have worked on a variety of projects involving Java, from embedded systems to mobile app development to desktop app development and more.
I understand your project requirement for writing a traversal search method for solving a maze - specifically an old-school adventure game containing puzzles dependent upon accessing certain spaces in the game in a certain order. With my extensive experience in Java, I believe I am the perfect person for this project as I can help you solve this challenging task quickly and efficiently.
My skillset includes knowledge of Java language itself as well as numerous other related technologies such as Android, ios and more which would be essential for completing this project successfully.
I would be more than happy to discuss any further requirements or queries you may have regarding this project should you require that further information be provided. Please feel free to contact me if you have any further questions regarding this project or any other related issues. Thank you for considering me for this opportunity!
Hi Greetings!
We are team of software developers.
We have developers working on almost all the technologies.
We will assign you a project manager who will assist you during entire process of project completion.
We will provide you fast,timely and on time delivery with reasonable and minimum cost.
We are a registered company located in Indore,India.
We are available right now for the project discussion and can start the project on an immediate basis.
We have understood your project requirement
We have 9 ++ years of experience in design and development.
We can handle projects from small styling to full development from scratch.
We will provide a good result in a short time and satisfy you fully.
We have experienced developers in
Java
JUnit
WHY-Us:
» Ready to Start on Immediate basis &provide proper Testing.
» Keep your Data & Website Secure: Daily Progress Updates.
» You will get 30-days FREE BUG-SUPPORT even after Project-Completion
Please come in touch and let's discuss more detail about your task via chat.
Project milestones will be decided during chat.
Thanks and Regards
Tech India