Releases: Math23Kskb/SudokuFX
Release list
SudokuGameFX v1.1.0
SudokuFX 1.1.0 - Sentry Integration & Build Improvements
This release builds upon the initial stable version of SudokuFX, primarily introducing Sentry.io integration for enhanced error monitoring and refining the build process.
New Features & Changes:
- Sentry Error Reporting: Integrated Sentry.io using
sentry-logback. This allows for real-time monitoring and reporting of errors encountered during application runtime, helping improve stability and debugging. (RequiresSENTRY_DSNenvironment variable to be set for reporting to function). - New Launcher Class: Introduced
org.mck.Launcheras the main entry point. This facilitates Sentry initialization before the JavaFX application starts. - Build Enhancements (Maven
pom.xml):- Added
maven-shade-pluginto create a self-contained executable JAR. - Configured
maven-surefire-pluginwith necessary--add-opensarguments for better compatibility with TestFX and newer Java versions during testing. - Included the
sentry-maven-pluginfor potential build-time Sentry integration tasks (like source map uploads, though not fully detailed in commit).
- Added
Breaking Changes:
- Application Entry Point: The internal main class for the executable JAR is now
org.mck.Launcherinstead oforg.mck.Main. This primarily affects developers building or modifying the launch process. Standard execution viajava -jarshould still work seamlessly. - Sentry DSN Requirement (for Error Reporting): To enable error reporting to Sentry, the
SENTRY_DSNenvironment variable must be set with your project's DSN value from Sentry.io. The application will run without it, but errors will not be reported to Sentry.
Technologies Used:
- Java 17 or higher
- JavaFX for the user interface
- Maven for build management
- JUnit 5 and Mockito for unit testing
- TestFX for UI testing
- Sentry (sentry-logback) for error reporting
- Logback for logging
Installation & Running Instructions:
- Download the
SudokuFX-1.1.0.jarfile from the "Assets" section below. - Make sure you have Java 17 or higher installed on your system.
- Run the game by double-clicking the JAR file or using
java -jar SudokuFX-1.1.0.jarin your command line/terminal. - (Optional - For Error Reporting) To enable automatic error reporting to the developers via Sentry:
- Set the environment variable
SENTRY_DSNto the value provided for this project (if available/applicable). How to set environment variables depends on your operating system (e.g.,export SENTRY_DSN=your_dsn_hereon Linux/macOS,set SENTRY_DSN=your_dsn_hereor System Properties GUI on Windows). - If this variable is not set, the game will run normally, but errors will not be reported automatically.
- Set the environment variable
Reporting Issues and Contributing:
- If you encounter any bugs or have feature requests, please submit them to the Issue Tracker. Sentry integration will help us identify unreported issues!
- The source code for SudokuFX is available on the GitHub Repository.
- See all releases on the Releases Page.
Known Issues:
- Error reporting to Sentry only functions if the
SENTRY_DSNenvironment variable is correctly configured.
Future Implementations:
We plan to add the following features in future releases:
- Difficulty Selection: Allow users to choose a specific difficulty level (Easy, Medium, Hard, Expert) to customize their gameplay experience.
- Timer: Implement a timer to track how long it takes the user to solve a puzzle.
- Hints: Provide a "Hint" button that reveals a single correct number on the board, offering assistance to players who are stuck.
- Undo/Redo: Implement undo and redo functionality to allow players to easily revert and reapply moves.
- Save/Load Game: Enable users to save their progress and load games later.
- Improved UI/UX: Enhance the user interface and overall user experience with improved styling, animations, and accessibility features.
- (Partially Addressed) More robust error handling: Sentry integration significantly improves visibility into runtime errors.
Contributing:
We welcome contributions from the community! If you'd like to contribute to SudokuFX, please feel free to fork the repository, make your changes, and submit a pull request.
Credits:
- Developed by Matheos Chiyuki Kusakabe (Math23Kskb)
Enjoy playing Sudoku! We hope you find SudokuFX to be a fun and engaging puzzle game.
SudokuFX Game v1.0.0
SudokuFX 1.0.0 - Initial Stable Release
Welcome to the first stable release of SudokuFX! This JavaFX-based Sudoku game provides a classic and engaging puzzle experience. We've focused on a clean user interface and core Sudoku logic for this initial release.
Core Functionalities Implemented:
- Interactive Sudoku Board: A 9x9 grid-based Sudoku board where players can enter numbers and attempt to solve the puzzle. The board is visually styled with subgrid highlighting for improved readability.
- Number Input Validation: The game provides real-time validation of user input, preventing the placement of numbers that violate Sudoku rules. Invalid moves trigger a warning alert, explaining the specific rule violation (row, column, or 3x3 box conflict).
- Automatic Sudoku Generation: The game automatically generates new Sudoku puzzles with a varying degree of difficulty. The puzzles are created using a combination of:
- A Sudoku solver that creates a complete, valid Sudoku solution.
- A number remover that removes numbers from the solved board to create a puzzle, balancing difficulty and solvability.
- Game Over Detection: The game detects when the Sudoku board is completely filled. When the user completes the puzzle, a "Congratulations!" screen appears.
- New Game Functionality: The "Congratulations!" screen has a start new game button where when the user clicks, a new Sudoku game starts.
- Unit and System Tests: Includes unit and system tests that were implemented to check the software's core functionalities.
Technologies Used:
- Java 17 or higher
- JavaFX for the user interface
- Maven for build management
- JUnit 5 and Mockito for unit testing
- TestFX for UI testing
Installation Instructions:
- Download the
SudokuFX-1.0.0.jarfile from the "Assets" section below. - Make sure you have Java 17 or higher installed on your system.
- Run the game by double-clicking the JAR file (or using
java -jar SudokuFX-1.0.0.jarin your command line/terminal).
Reporting Issues and Contributing:
- If you encounter any bugs or have feature requests, please submit them to the Issue Tracker.
- The source code for SudokuFX is available on the GitHub Repository.
- See all releases on the Releases Page.
Known Issues:
- No known issues known.
Future Implementations:
We plan to add the following features in future releases:
- Difficulty Selection: Allow users to choose a specific difficulty level (Easy, Medium, Hard, Expert) to customize their gameplay experience.
- Timer: Implement a timer to track how long it takes the user to solve a puzzle.
- Hints: Provide a "Hint" button that reveals a single correct number on the board, offering assistance to players who are stuck.
- Undo/Redo: Implement undo and redo functionality to allow players to easily revert and reapply moves.
- Save/Load Game: Enable users to save their progress and load games later.
- Improved UI/UX: Enhance the user interface and overall user experience with improved styling, animations, and accessibility features.
- More robust error handling: Add robust error handling for a better user experience.
Contributing:
We welcome contributions from the community! If you'd like to contribute to SudokuFX, please feel free to fork the repository, make your changes, and submit a pull request.
Credits:
- Developed by Matheos Chiyuki Kusakabe (Math23Kskb)
Enjoy playing Sudoku! We hope you find SudokuFX to be a fun and engaging puzzle game.