Question: Create a Java program that will access mazes. Below is an example maze. . . . . . 0 . . . S . .

Create a Java program that will access mazes. Below is an example maze.
.....0...S
....0.....
0.....0..0
...0....0.
.F......0.
.0........
.......0..
.0.0..0..0
0.........
.00.....0.
The player starts at the location labelled S and wants to reach the finish, labelled F. Each turn they choose one of the four cardinal directions to move. However, except for S and F the floor is covered in frictionless ice, so they will keep sliding in the chosen direction until they hit the wall surrounding the area, or one of the rocks (labelled 0). For example, starting in the map given above:
.....0...@
....0.....
0.....0..0
...0....0.
.F......0.
.0........
.......0..
.0.0..0..0
0.........
.00.....0.
the player (@) moving left would end up here:
.....0@..S
....0.....
0.....0..0
...0....0.
.F......0.
.0........
.......0..
.0.0..0..0
0.........
.00.....0.
So we are dealing with the problem of finding a path from S to F, but the reachability relation between points is not the usual one.
Tasks to be performed:
Implement a data structure which can represent maps such as the one in the example. It must provide the necessary infrastructure for finding a shortest
path from the start to the finish.
Add a simple parser which can read a map like the one in the example
from an input file. It needs to determine the width and height and the locations of the start and finish square as well as the rocks. The structure of the files will look like in the example, i.e., use ./0/S/F for empty (ice) squares, rocks, the start and the finish.
Implement an BFS algorithm which finds a shortest path from the start to the finish in any given map, if one exists.It should output all the steps of the solution it found, e.g., for the example above:
Where the squares are numbered left to right, top to bottom.
1. Start at (10,1)
2. Move left to (7,1)
3. Move down to (7,2)
4. Move left to (6,2)
5. Move down to (6,10)
6. Move right to (8,10)
7. Move up to (8,8)
8. Move right to (9,8)
9. Move up to (9,6)
10. Move left to (3,6)
11. Move up to (3,1)
12. Move left to (1,1)
13. Move down to (1,2)
14. Move right to (4,2)
15. Move down to (4,3)
16. Move left to (2,3)
17. Move down to (2,5)
18. Done!
Print the maze first then print the solution.
All the mazes are on separate txt file. like below
.0...00...
.0F0......
..0..0....
.0.0.....0
..........
..........
....0.0.0.
.0.0......
0........0
S.0.....00
Provide complete implementation for each task. Print the maze first then print the solution.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!