预定/报价
Programming in the Large CSSE2002
珠玉2024-04-28 15:17:09

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: _0206girl

Abstract

The assignment instructs students to design, implement, and test a set of classes and interfaces1 to solve a maze.
With a narrative setting in the Kingdom of Labyrinthus, students will develop an application to aid the Kingdom's royal goose in navigating the maze.
Preamble
All work must be individual, except for code provided by course staff this semester. Follow guidelines from lectures and the EECS UQ Student Conduct. Direct any ambiguities to the course staff.
Note: All time references use the Australian Eastern Standard Time. Ensure to align assignment submissions accordingly.
Introduction
Set in the Kingdom of Labyrinthus, this assignment offers a blend of narrative and programming. Tasked with aiding a whimsical character, you'll utilize accessor methods, Arrays or Lists, outputs, and core programming logic. While the narrative provides context, focus on designing a robust system using classes and interfaces.
Story
Welcome, esteemed programmer! MazeMania Inc., renowned for its world-class mazes, needs your expertise.
The Kingdom of Labyrinthus's annual "Grand Maze Festival" is upon us. However, Sir Wobbleton, our royal goose, has taken a fondness to one of our mazes. While charming, this poses a challenge: ensuring Sir Wobbleton can always find his way back to his duties. Your task is to develop an application to navigate a maze and ensure Sir Wobbleton's punctuality.
Your Task
Accept this assignment, and you'll:
1. Load a maze from a provided text file.
2. Display the maze either using GUI (Figure 1) or text (Figure 2).
3. Navigate the maze, either manually2 or programmatically3 .

4. Determine whether an exit is found or if the maze is unsolvable4 .

To guide you in developing the file loader, we've provided an interface named FileInterface.java. Ensure that your file loader class implements this interface and meets all its stipulations. Pay close attention to the imported packages; they can offer insights on structuring your exceptions and determining the expected package locations when implementing the interface, and other classes.
Your loader should draw inspiration from the one presented in the lectures, ensuring it robustly reads the maze data and addresses any potential issues. As suggested in the provided code, make sure the loaded maze has a single start point and end point, along with other logical requirements. Ensure that all your code is thoroughly documented using JavaDoc comments.
Pro Tip
• Implement proper exception handling and ensure clear error messages.
• Close resources like the `Scanner` object if used for file reading.