This project is a fully functional desktop application that recreates the classic "Little Professor" math quiz game using JavaFX. The application demonstrates a clean separation of concerns by implementing the Model-View-Controller (MVC) design pattern, where the game's core logic is completely independent of the graphical user interface.
- Interactive Math Quiz: Provides a user-friendly interface for solving a series of arithmetic problems.
- Multiple Calculation Types: Users can start a new round with their choice of Addition, Subtraction, Multiplication, or Division from a dropdown menu.
- Dynamic UI Updates: The interface provides real-time feedback, showing the user's progress with fun emojis (🔥 for correct, ❌ for incorrect) and a running log of previous problems.
- MVC Architecture: The project is structured to separate the application's data and rules (
Model), the user interface (View), and the user input handling (Controller), which is a fundamental concept in modern software engineering.
- GUI Development: Building a responsive and interactive desktop application using JavaFX and FXML.
- Software Design Patterns: A clear and effective implementation of the Model-View-Controller (MVC) pattern.
- Event-Driven Programming: Handling user events such as button clicks and keyboard presses to drive the application's flow.
- Interfaces and Decoupling: Using an interface (
GUIConnector) to allow the logic and GUI to communicate without being directly dependent on each other. - Maven for Project Management: The project is configured with Maven, which handles dependencies (like JavaFX and JUnit) and the build process.
This project is built using Apache Maven, which simplifies the process of compiling and running the application.
-
Open the project in your IDE (like IntelliJ IDEA or Eclipse). It should automatically recognize the
pom.xmlfile and set up the project. -
Run the application. You can typically do this by:
- Finding the
ApplicationMain.javafile in thesrc/main/java/guidirectory. - Right-clicking on the file and selecting "Run ApplicationMain.main()".
- Finding the
The IDE will use Maven to compile the project and its dependencies, and then launch the "Little Professor" application window.