This drone simulation is a Java-based application that provides both a console and a graphical user interface (GUI) for visualizing drone movements within a specified arena. The project demonstrates advanced object-oriented programming concepts, GUI development with JavaFX, and real-time interaction in a simulated environment.
- Graphical Interface: JavaFX-based GUI with interactive elements for controlling and observing drones.
- Console Representation: A console version that utilizes character arrays for a simpler representation.
- Drone Behaviors: Includes various drone types with distinct behaviors, such as
DroneHunter
andConsoleDrone
. - Arena Management: Dynamic management of the drone arena with support for obstacles and boundary conditions.
- Collision Detection: Implements collision detection and response for drones within the arena.
- Extensible Architecture: The use of abstract classes and inheritance allows for easy addition of new item types and drone behaviors.
- Java: Core programming language.
- JavaFX: Used for the graphical user interface.
- Clone the repository from GitHub.
- Compile the Java files using a Java compiler like
javac
. - Run
DroneInterface.java
for the console version or the appropriate class for the GUI version.
- Use the GUI to add drones, set their behaviors, and observe their interactions in the arena.
- In the console version, interact through the command line to control the simulation.
Contributions are welcome. Please fork the repository and submit pull requests for any enhancements or bug fixes.
This project is distributed under the MIT License.
For inquiries or collaboration, please contact [karnagetm@gmail.com].