Skip to content

Skenvy/Sudoku

Application of specific techniques to the solving of sudokus, implemented in Java (OpenJDK).

Getting Started

Using the executable JAR

Starting from release v0.2.0, the released JAR will be an executable JAR targetting version 8, which will run the default 9*9 sized sudoku. Most recent JAR here. To build against a different version, you can;

git clone https://github.com/Skenvy/Sudoku.git && cd Sudoku
mvn clean package -Dmaven.compiler.release <desired_release_version>

Source distribuitons

To install the latest from Maven Central source (mirror sonatype.org) (also see the package indexes, mvnrepository or sonatype);

Add to the pom <dependencies>

<dependency>
  <groupId>io.github.skenvy</groupId>
  <artifactId>sudoku</artifactId>
</dependency>

Or in gradle

implementation 'io.github.skenvy:sudoku'

Usage

What it is at the moment

An implementation of a Sudoku solver (currently with Java JFrame), that I made during uni, as the first project I really enjoyed, with the intent of formalising how easy a particlar sudoku puzzle would be to solve by determining what moves can be made deterministically, rather than just iterating guesses.

What I'd like to make it

The goal of this is to eventually create something similar to opensudoku, or the newer, current, version of it, as well as putting it on the playstore similar to ~, with the inclusion of the originally intended feature/purpose of the JFrame app of determining available moves and how complex a particular game is.

Developing

The first time setup

There is no one time setup required as each maven command will dynamically fetch its dependencies. All you need to do is fork / clone it;

Iterative development

Run on Desktop

On any setup that has make, make run will be your friend. If you are in an environment where you can't install make, its recipe should be mvn clean compile exec:java.