Package io.github.skenvy
Class Sudoku
java.lang.Object
io.github.skenvy.Sudoku
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionfinal class
Used for sudoku related exceptions. -
Field Summary
FieldsModifier and TypeFieldDescriptionint[][][][]
The known and determined values that populate the grid.boolean[][][][]
Whether a cell is filled or not.boolean[][][][]
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
void
int
boolean
boolean
boolean
void
deliminatePotential
(int k0, int k1, int k2, int k3, int k4) String[]
boolean
boolean
void
initialiseNumberPresentGridRowCol
(boolean clear) void
initialisePlaceCanContain
(boolean clear) void
int
int
int
int
int
int
static void
String[]
boolean[]
placeCanContainCheckCollision
(int j0, int j1, int j2, int j3, int k0, int k1, int k2, int k3) boolean
placeCanContainCheckDoesCollide
(int j0, int j1, int j2, int j3, int k0, int k1, int k2, int k3, int collisions) void
void
void
void
readBoardIn
(String[] boardRows) boolean
boolean
boolean
boolean
void
boolean
boolean
boolean
int[]
subsetCollisionAt
(int subsetSize, int numberOfTrueSubsets, int[] subsetFoundAt, int[][][] subsets) void
subsetCollisionAtRolling
(int subsetSize, int numberOfTrueSubsets, int[] subsetFoundAt, int[][][] subsets) void
void
void
-
Field Details
-
board
public int[][][][] boardThe known and determined values that populate the grid. Is initialised with the already known cell values, and is then populated with those determined through solving. -
cellFilled
public boolean[][][][] cellFilledWhether a cell is filled or not. -
errorInSquare
public boolean[][][][] errorInSquare
-
-
Constructor Details
-
Sudoku
public Sudoku() -
Sudoku
public Sudoku(int size) -
Sudoku
-
-
Method Details
-
main
-
readBoardIn
-
printBoardOut
public void printBoardOut() -
initialiseBoard
public boolean initialiseBoard() -
initialisePlaceFilled
public void initialisePlaceFilled() -
initialisePlaceCanContain
public void initialisePlaceCanContain(boolean clear) -
updatePlaceCanContain
public void updatePlaceCanContain() -
initialiseNumberPresentGridRowCol
public void initialiseNumberPresentGridRowCol(boolean clear) -
updateNumberPresentGridRowCol
public void updateNumberPresentGridRowCol() -
boardCheckValid
public boolean boardCheckValid() -
boardCheckErrors
public void boardCheckErrors() -
errorExists
public boolean errorExists() -
boardCheckComplete
public boolean boardCheckComplete() -
boardCheckPlacesFilled
public int boardCheckPlacesFilled() -
printDigest
public void printDigest() -
digestAsArray
-
printOperations
public void printOperations() -
operationsAsArray
-
textFieldAdd
-
solveBoard
public void solveBoard() -
solveBoardEasy
public boolean solveBoardEasy() -
solveBoardModerate
public boolean solveBoardModerate() -
solveBoardHard
public boolean solveBoardHard() -
iterateSoleCandidate
public int iterateSoleCandidate() -
checkSoleCandidate
public boolean checkSoleCandidate() -
iterateUniqueCandidate
public int iterateUniqueCandidate() -
checkUniqueCandidate
public boolean checkUniqueCandidate() -
iterateReductionOfCanContainInRowColByGrid
public int iterateReductionOfCanContainInRowColByGrid() -
reductionOfCanContainInRowColByGrid
public boolean reductionOfCanContainInRowColByGrid() -
iterateReductionOfCanContainInGridByRowCol
public int iterateReductionOfCanContainInGridByRowCol() -
reductionOfCanContainInGridByRowCol
public boolean reductionOfCanContainInGridByRowCol() -
iterateReductionOfCanContainSubsetVisible
public int iterateReductionOfCanContainSubsetVisible() -
reductionOfCanContainSubsetVisible
public boolean reductionOfCanContainSubsetVisible() -
iterateReductionOfCanContainSubsetHidden
public int iterateReductionOfCanContainSubsetHidden() -
reductionOfCanContainSubsetHidden
public boolean reductionOfCanContainSubsetHidden() -
deliminatePotential
public void deliminatePotential(int k0, int k1, int k2, int k3, int k4) -
subsetCollisionAt
public int[] subsetCollisionAt(int subsetSize, int numberOfTrueSubsets, int[] subsetFoundAt, int[][][] subsets) -
subsetCollisionAtRolling
public void subsetCollisionAtRolling(int subsetSize, int numberOfTrueSubsets, int[] subsetFoundAt, int[][][] subsets) -
placeCanContainCheckDoesCollide
public boolean placeCanContainCheckDoesCollide(int j0, int j1, int j2, int j3, int k0, int k1, int k2, int k3, int collisions) -
placeCanContainCheckCollision
public boolean[] placeCanContainCheckCollision(int j0, int j1, int j2, int j3, int k0, int k1, int k2, int k3)
-