Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maze with Robot

Overview

The Maze with Robot project is a JavaFX application designed to simulate the navigation of a robot and a car through various maze challenges. This application serves as an educational tool to understand algorithmic navigation and object-oriented programming principles. It provides a visual representation of the robot and car's movements, allowing users to engage interactively with the maze-solving process.

The project highlights the use of graphical user interface (GUI) design in JavaFX, basic animation techniques, and algorithmic problem-solving through the implementation of pathfinding algorithms. The overall aim is to offer an intuitive and interactive experience that showcases the capabilities of Java and JavaFX in building desktop applications.

Project Features

  • Multiple Mazes:

    • Users can switch between three distinct maze configurations, each presenting unique challenges and obstacles.
    • The mazes are designed with varying levels of complexity to test the robot's navigation capabilities.
  • Robot Navigation:

    • A robot navigates each maze autonomously using a built-in pathfinding algorithm (such as A* or Dijkstra’s algorithm).
    • The algorithm's efficiency and effectiveness can be visualized in real-time as the robot finds its way to the exit.
  • Car Representation:

    • A graphical representation of a car simulates movement through the maze, offering a different perspective on maze navigation.
    • Users can compare the movement strategies of the robot and the car to understand different approaches to navigation.
  • Interactive UI:

    • The application features a user-friendly interface with buttons to start and stop solving the maze, allowing for an engaging experience.
    • Tooltips and instructions help guide users on how to interact with the application effectively.
  • Smooth Animations:

    • Both the robot and car movements are animated smoothly, providing a visually appealing experience as they navigate through the maze.
    • The animations include transitions for starting and stopping, which enhances user interaction.

Example

Maze1

Screen.Recording.2024-09-24.154352.mp4

Maze2

Screen.Recording.2024-09-24.154827.mp4

Technologies Used

  • Java 22: The core programming language used for the project, leveraging its robust platform for building desktop applications with modern features and capabilities.
  • JavaFX: A powerful framework for building rich client applications in Java, providing advanced capabilities for handling graphics, media, and UI components.
  • Maven: A project management and build automation tool that simplifies dependency management and project configuration, ensuring smooth builds and easy integration of external libraries.

Getting Started

Prerequisites

To run this project, ensure you have the following installed on your machine:

  • JDK 22 or higher
  • JavaFX SDK (matching your JDK version)
  • Apache Maven (for project build and dependency management)
  • IntelliJ IDEA or another preferred IDE with JavaFX support

Class Descriptions

  • RobotMain.java: Contains the logic for the robot’s maze-solving functionality, including pathfinding algorithms and animation.
  • CarMain.java: Handles the car’s navigation through the maze, providing a different perspective on the maze-solving process.
  • Maze2Main.java: Implements an alternative maze for the user to interact with, showcasing different challenges.
  • Robot.java: Defines the properties and methods for the robot, including movement and navigation logic.

Usage

  • Upon launching the application, you will see a tabbed interface with three tabs for each maze.
  • Click the “Solve Maze” button to initiate the automatic solving of the maze.
  • You can also use the arrow keys to manually move the robot within the maze.

Authors

About

JavaFX-based application where a virtual robot solves any given maze. The application uses image recognition and pathfinding algorithms to guide the robot from a starting point to the maze's exit.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages