Our Services

Get 15% Discount on your First Order

[rank_math_breadcrumb]

This assignment lets you build a set of classes to support a program to find paths through a cave. By the end of Unit 4, you will have a program that can read a 2-dimensional cave layout from a fil

This  assignment lets you build a set of classes to support a program to find  paths through a cave. By the end of Unit 4, you will have a program that  can read a 2-dimensional cave layout from a file, search the layout to  find a path to a mirror pool, then print the path to take. This unit,  you will build the infrastructure for this project, including  storing  data in a two dimensional structure, searching the data structure for a  simple path from start to finish and reading data from a text file.

Preparation

See the announcements for the link to the GitHub repository for this assignment. 

Directions

Write a class CaveExplorer, that has the following methods:

  1. Constructor  with no parameters. It should create the two-dimensional structure  shown below, where the characters in the layout are ‘R’ for rock, ‘.’  for a clear path, ‘M’ for mirror pool, and ‘S’ for self. This  constructor hardcodes the cave without reading from a file.
  2. toString  – no parameters, returns a string (including new lines) showing the  current state of the cave exploration. For the initial configuration,  this string would be”RRRRRR\nR..SRR\nR.RRRR\nR.MRRR\nRRRRRR\n”
  3. solve  – no parameters, returns a boolean true if there is a path to the  mirror pool, and false if there is not. This method is where you will  spend some time figuring out the logic. Even though there is only one  path, you still have to search in four different directions and make  sure you don’t get caught in an infinite loop. How you do this is up to  you.
  4. getPath – no parameters, returns a String showing the path  taken to get to the mirror pool. In the example, this path would be the  string of directions “wwsse” for West, West, South, South, East. The  method should return the empty string if there is no path.
  5. Constructor  with one String parameter – the name of a text file with the cave  layout. The file has a line with two integers, the number of rows and  columns of the cave layout, followed by the layout itself.  For  exampleYou will have to modify the text file with the cave data using  your favorite editor. Your cave layout should contain a path requiring  at least 4 moves in two different directions. There must be exactly one  path through the cave, that is, from any location, there is only at most  one location to move to next that hasn’t already been visited. If you  need help reading from a file, there are many resources on the web  regarding using the Scanner class to read text data. A short one is the   section on Scanners at to an external site.)
  6. main  – test your class by writing a main method that creates at least 2  CaveExplorer objects, solves each one, then prints the starting layout,  the final layout, and the path taken, if it exists, for each one. Be  sure to follow this order of operations.

Share This Post

Email
WhatsApp
Facebook
Twitter
LinkedIn
Pinterest
Reddit

Order a Similar Paper and get 15% Discount on your First Order

Related Questions

NOTICE TO ACADEMIC WRITERS To all writers currently working on Studydaddy.com, Over time, many writers have expressed concerns about high commission deductions, lack of transparency, and poor communic

NOTICE TO ACADEMIC WRITERS To all writers currently working on Studydaddy.com, Over time, many writers have expressed concerns about high commission deductions, lack of transparency, and poor communication on certain academic platforms. These challenges make it difficult for writers to grow, earn fairly, and work in a supportive environment. In

️ WRITER WARNING & OPPORTUNITY NOTICE Attention Academic Writers Before continuing to invest your time and effort on Studydaddy.com, be aware that many writers report serious issues including: Ext

️ WRITER WARNING & OPPORTUNITY NOTICE Attention Academic Writers Before continuing to invest your time and effort on Studydaddy.com, be aware that many writers report serious issues including: Extremely high commission deductions per order Delayed or unclear payments Messages being ignored, muted, or blocked when payment concerns are raised A

Studydaddy Critics You all noticed that the site’s support team has basically ghosted everyone. No replies to tickets, no fixing complaints, no refunds, no dispatching payments straight radio silence.

Studydaddy Critics You all noticed that the site’s support team has basically ghosted everyone. No replies to tickets, no fixing complaints, no refunds, no dispatching payments straight radio silence. So yeah, we got fed up and threw this dumb little script. It just keeps posting this same question after approximately

Studydaddy Critics You all noticed that the site’s support team has basically ghosted everyone. No replies to tickets, no fixing complaints, no refunds, no dispatching payments straight radio silence.

Studydaddy Critics You all noticed that the site’s support team has basically ghosted everyone. No replies to tickets, no fixing complaints, no refunds, no dispatching payments straight radio silence. So yeah, we got fed up and threw this dumb little script. It just keeps posting this same question after approximately

Please follow the steps provide in unt_fibonacci_assignment.pdfDownload unt_fibonacci_assignment.pdf This assignment is designed to show one difference between higher level language (python ) vs lowe

Please follow the steps provide in  unt_fibonacci_assignment.pdfDownload unt_fibonacci_assignment.pdf This assignment is designed to show one difference between higher level language (python ) vs lower level language (c) Please test the code on cell machine : CELL18-CSE.ENG.UNT.EDU Have fun and enjoy coding, thinking and learning

Please follow the steps provide in unt_fibonacci_assignment.pdfDownload unt_fibonacci_assignment.pdf This assignment is designed to show one difference between higher level language (python ) vs lowe

Please follow the steps provide in  unt_fibonacci_assignment.pdfDownload unt_fibonacci_assignment.pdf This assignment is designed to show one difference between higher level language (python ) vs lower level language (c) Please test the code on cell machine : CELL18-CSE.ENG.UNT.EDU Have fun and enjoy coding, thinking and learning

This assignment will give you an opportunity to learn more about secondary storage technologies, communications, and networks. Before working on this assignment, you will need to complete the Unit IV

This assignment will give you an opportunity to learn more about secondary storage technologies, communications, and networks. Before working on this assignment, you will need to complete the Unit IV Knowledge Check. Reflect on what you have learned about secondary storage, communications, and network security in this unit. Address the

In this journal, you will embark on a journey of exploration into emerging technologies that intrigue you; be it virtual reality, wearables, IoT, or any other fascinating field. You will research a ch

In this journal, you will embark on a journey of exploration into emerging technologies that intrigue you; be it virtual reality, wearables, IoT, or any other fascinating field. You will research a chosen technology and reflect on your learning journey, sharing insights gained, challenges faced, and areas primed for growth.

Database Detective This assignment measures your mastery of ULOs 3.4, 4.1, and 4.2. Before working on this assignment, you will need to complete the Unit VI Activity: Access 2021 – Chapter 2 – Wor

Database Detective  This assignment measures your mastery of ULOs 3.4, 4.1, and 4.2. Before working on this assignment, you will need to complete the Unit VI Activity: Access 2021 – Chapter 2 – Working with Tables in the SIMNet lab.  Download and complete the Unit VI Assignment Poole’s Nursery Template. Complete