Dive into the world of Sudoku with a game that offers:
- π§© Play challenging 9x9 puzzles: Enjoy grids ranging from beginner to expert levels.
- π€οΈ Solve any 9x9 Sudoku grid: Let the game solve your puzzles or input custom ones.
- β¨ Create profiles: Save progress and manage personalized profiles for each player.
- πΎ Save anytime: Effortlessly continue your puzzle-solving journey.
Challenge your mind and enjoy hours of logical fun with SudokuFX! π
- Installation
- Use
- Examples
- Update
- Uninstallation
- Documentation
- Security
- Project
- Contributors
- Feedback
- Licence
-
Windows
- Application with Java Runtime Environment (JRE) included
- Download and install the latest Windows version of the MSI file, available in Assets.
- The MSI file does not have a code signing certificate, Microsoft Defender SmartScreen can inform you of this during installation; to continue the installation click on additional information, then Run anyway.
- Application without Java Runtime Environment (JRE) included
- The latest Adoptium Temurin JRE must be installed on your machine with the corresponding JAVA_HOME environment variable set
- Download, unzip, and keep all the files together, from the latest Windows version of the ZIP file, available in Assets.
- Application with Java Runtime Environment (JRE) included
-
Linux (Debian-based distributions)
- Application with Java Runtime Environment (JRE) included
- Download and install the latest Linux version of the DEB file, available in Assets.
- Run
sudo apt install ./sudokufx-jvm_v.v.v_amd64.deb
- Application without Java Runtime Environment (JRE) included
- The latest Adoptium Temurin JRE must be installed on your machine with the corresponding JAVA_HOME environment variable set
- Download, untar, and keep all the files together, from the latest Linux version of the TAR file, available in Assets.
- Application with Java Runtime Environment (JRE) included
-
MacOS
- Application with Java Runtime Environment (JRE) included
- Download and install the latest MacOS version of the DMG file, available in Assets.
- Application without Java Runtime Environment (JRE) included
- The latest Adoptium Temurin JRE must be installed on your machine with the corresponding JAVA_HOME environment variable set
- Download, unzip, and keep all the files together, from the latest MacOS version of the ZIP file, available in Assets.
- Application with Java Runtime Environment (JRE) included
To ensure the integrity of downloaded assets, import the GPG public key with gpg --import sudokufx-public-key.asc
, then verify the files, e.g., the MSI file, using gpg --verify SudokuFX_JVM-v.v.v.msi.asc SudokuFX_JVM-v.v.v.msi
. For more information, refer to the GnuPG Manual.
-
Windows
- Application with Java Runtime Environment (JRE) included (from MSI file)
- Application without Java Runtime Environment (JRE) included (ZIP file with the .bat file and the JAR)
- Delete your old unzipped folder from the ZIP file, and follow the installation instructions
-
Linux
- Application with Java Runtime Environment (JRE) included (from .deb file)
- Application without Java Runtime Environment (JRE) included (TAR file with the .sh file and the JAR)
- Delete your old untarred folder from the TAR, and follow the installation instructions
-
MacOS
- Application with Java Runtime Environment (JRE) included (from .dmg file)
- Application without Java Runtime Environment (JRE) included (ZIP file with the .sh file and the JAR)
- Delete your old unzipped folder from the ZIP file, and follow the installation instructions
-
Windows
- Application with Java Runtime Environment (JRE) included (from MSI file)
- Uninstall from the Control Panel (for programs)
- In the search box on the taskbar, type Control Panel and select it from the results.
- Select Programs > Programs and Features.
- Press and hold (or right-click) on the program you want to remove and select Uninstall or * Uninstall/Change*. Then follow the directions on the screen.
- Uninstall from the Control Panel (for programs)
- Application without Java Runtime Environment (JRE) included (ZIP file with the .bat file and the JAR)
- Delete your unzipped folder from SudokuFX-v.v.v_windows.zip
- Application with Java Runtime Environment (JRE) included (from MSI file)
-
Linux
- Application with Java Runtime Environment (JRE) included (from .deb file)
- Run
sudo apt purge sudokufx-jvm
- Run
- Application without Java Runtime Environment (JRE) included (TAR file with the .sh file and the JAR)
- Delete your untarred folder from SudokuFX-v.v.v_linux.tar.gz
- Application with Java Runtime Environment (JRE) included (from .deb file)
-
MacOS
- Application with Java Runtime Environment (JRE) included (from .dmg file)
- Drag the application to the Trash
- Application without Java Runtime Environment (JRE) included (ZIP file with the .sh file and the JAR)
- Delete your unzipped folder from SudokuFX-v.v.v_macos.zip
- Application with Java Runtime Environment (JRE) included (from .dmg file)
Important
To completely remove your application data and logs, delete the following folder (this action is irreversible):
Important
For the application to work properly, the following application properties must be set at the JVM level:
- app.name:This property specifies the name of the application.
- app.version:This property specifies the version of the application.
- This SemVer-like format is only numeric MAJOR.MINOR.PATCH (e.g., 1.0.0, 2.1.3).
- Java LTS (e.g. 21)
- JavaFX LTS (e.g. 21)
- WiX Toolset v3.11
- Dependencies:
- Development
- javafx-controls
- javafx-fxml
- DTOs
- MapStruct
- SGBDR & SPRING BOOT
- HSQLDB
- Spring boot
- Starter
- Gluon Ignite with Spring
- Starter data JPA
- Starter validation
- flyway (database migration)
- passay (generate and validate secrets)
- Logs
- logback from Spring Boot
- Build dependencies:
- maven-compiler-plugin
- annotationProcessorPaths:
- MapStruct processor (for code generation)
- Lombok (for generating boilerplate code)
- Lombok MapStruct Binding (to integrate Lombok with MapStruct)
- annotationProcessorPaths:
- maven-enforcer-plugin (to define the minimum Maven version)
- javafx-maven-plugin
- spring-boot-maven-plugin (create the uber JAR)
- exec-maven-plugin (for scripts generating the packages)
- jmh (for temporary performance evaluation)
- maven-compiler-plugin
- Test dependencies:
- spring boot starter test (JUnit, Mockito, Hamcrest)
- surefire
- jacoco
- testfx-junit5 (ex.:FxRobot to execute actions within the UI, or custom Hamcrest matchers org.testfx.matcher.*.)
- Development
- Download and install the LTS version of the Adoptium Temurin JDK Downloads
- Download and install WiX Toolset v3.11 (in order to package the application)
- Activate .NET framework 3.5.1 (Control Panel > Programs > Programs and Features > Turn Windows features on or off)
- Launch wix311.exe
- Configured the necessary environment variables
- JDK
- name:JAVA_HOME
- value LTS (e.g. 21):C:\Program Files\Eclipse Adoptium\jdk-21.0.3.9-hotspot
- WiX
- name:WIX
- value:C:\Program Files (x86)\WiX Toolset v3.11\
- JDK
- IntelliJ IDEA
- Clone the repository
- Select the project's JDK
- File > Project Structure > SDK > Add SDK from disk (select the JDK)
- Run Maven configurations (in the top right corner)
- SudoMain.java is the main class
- Maven run configurations are saved as project files in .idea/runConfigurations
- Temporary performance evaluation with Java Microbenchmark Harness (JMH):
- Comment out
<excludeGroupIds>org.openjdk.jmh</excludeGroupIds>
and<exclude>fr/softsf/sudokufx/benchmark/**/*.java</exclude>
in thepom.xml
- Run
mvn clean
and execute the[Jmh init.]
configuration - Manage your benchmark tests in the
fr.softsf.sudokufx.benchmark
package - Once benchmarking is complete, uncomment
<excludeGroupIds>org.openjdk.jmh</excludeGroupIds>
and<exclude>fr/softsf/sudokufx/benchmark/**/*.java</exclude>
in thepom.xml
- Comment out
- Temporary performance evaluation with Java Microbenchmark Harness (JMH):
- File an issue
- If you want you can attach the application logs you find: