Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Java Programming : Description Set the scene. You re a woodworker, and you have an assortment of rats as pets. You love your dear pets
Java Programming : Description
Set the scene. Youre a woodworker, and you have an assortment of rats as pets. You love your
dear pets but cant seem to keep up with carving them new race tracks mazes by hand. Instead
youve enlisted the help of a robot to do the carving. The problem is you need to provide these
randomized tracks in the form of a text document to the robot.
How does one go about creating a map as a text document to do this? We will need some rules
You can carve tracks into the wood provided:
No tracks cross over into another track.
You move in mm increments in directions chosen at random.
If you end up in a place where you cant carve in any direction or you cross over
into another track you need to back up backtracking and try a different
direction.
There are only directions you can carve into the wood. Think of them as north,
south, east and west.
You need to specify and beginning point entry and an ending point the cheese
Exercises
Download the following class source files:
TrackCarver.java
TrackGenerator.java
In Eclipse, create a new Java project called "Project and import the above files.
Compile and run the program. Make sure it works although it wont do much beyond
asking you the dimensions of the array
The class TrackCarver has been implemented for you. This is the main class.
The class TrackGenerator needs to be implemented by you. Specifically the following
methods need to be filled in:
private static void fillDArray char wood
The purpose of this method is to fill the dimensional array with all one character
to represent a fresh piece of wood.
public static void carveTrackchar wood, int x int y
This method is the recursive method. wood should already be filled with the
character that you chose to fill it with in fillDArray you dont need to call it x
and y is the location your algorithm is currently at At this point, your virtual
chisel has to check to see if it can move in any direction. Randomly chisel in a
direction provided you can see above rules This means chiseling through two
spots of the array by setting those cells to blank spaces and passing off this new
location to a recursive call of this method. When it can no longer make any moves
it has no neighbors the method simply returns.
To help with carveTrack, I have provided you with methods.
hasWestNeighbor
hasEastNeighbor
hasNorthNeighbor
hasSouthNeighbor
hasNoNeighbors
You can use these methods to help you determine if there are neighbors and which
neighbors it has. Again, neighbors are defined as a place you can chisel to that will
not chisel into an already existing tunnel. import java.ioFile;
import java.ioPrintWriter;
import java.util.Random;
public class TrackGenerator
private static Random rand new Random;
private static void fillDArraychar wood
Fill the D array 'wood' with nonspace characters
TODO FILL IN CODE HERE
private static void carveTrackchar wood, int x int y
TODO FILL IN CODE HERE
private static boolean hasWestNeighborchar wood, int x int y
return x && woodxy;
private static boolean hasEastNeighborchar wood, int x int y
return x && woodxy;
private static boolean hasSouthNeighborchar wood, int x int y
return y
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started