Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/BracketCove/JavaDesktopSudoku
/ functions
Functions
90 in github.com/BracketCove/JavaDesktopSudoku
⨍
Functions
90
◇
Types & classes
24
↓ 26 callers
Method
equals
(Object o)
src/main/java/com/wissassblog/sudoku/problemdomain/Coordinates.java:25
↓ 16 callers
Method
getCopyOfGridState
()
src/main/java/com/wissassblog/sudoku/problemdomain/SudokuGame.java:57
↓ 9 callers
Method
squareIsInvalid
(int yIndex, int xIndex, int[][] grid)
src/main/java/com/wissassblog/sudoku/computationlogic/GameLogic.java:148
↓ 6 callers
Method
collectionHasRepeats
(List<Integer> collection)
src/main/java/com/wissassblog/sudoku/computationlogic/GameLogic.java:200
↓ 5 callers
Method
columnsAreInvalid
(int[][] grid)
src/main/java/com/wissassblog/sudoku/computationlogic/GameLogic.java:174
↓ 5 callers
Method
getSolved
()
src/test/java/TestData.java:61
↓ 5 callers
Method
rowsAreInvalid
(int[][] grid)
src/main/java/com/wissassblog/sudoku/computationlogic/GameLogic.java:187
↓ 5 callers
Method
squaresAreInvalid
For the purposes of giving specific names to specific things, a "Square" is one of the 3x3 portions of the Sudoku puzzle, containing GRID_BOUNDARY "Ti
src/main/java/com/wissassblog/sudoku/computationlogic/GameLogic.java:105
↓ 4 callers
Method
copySudokuArrayValues
Copy the values from one sudoku grid into another Note: O(n^2) Runtime Complexity @param oldArray @param newArray
src/main/java/com/wissassblog/sudoku/computationlogic/SudokuUtilities.java:14
↓ 4 callers
Method
getInvalid
()
src/test/java/TestData.java:164
↓ 4 callers
Method
getNewGame
()
src/main/java/com/wissassblog/sudoku/computationlogic/GameLogic.java:19
↓ 4 callers
Method
tilesAreNotFilled
Traverse all tiles and determine if any all are not 0. Note: GRID_BOUNDARY = GRID_BOUNDARY @param grid @return
src/main/java/com/wissassblog/sudoku/computationlogic/GameLogic.java:57
↓ 3 callers
Method
checkForCompletion
Check to see if the incoming state (what the values of each square happen to be) of the game is either Active (i.e. Unsolved) or Complete (i.e. Solved
src/main/java/com/wissassblog/sudoku/computationlogic/GameLogic.java:44
↓ 3 callers
Method
getGameState
()
src/main/java/com/wissassblog/sudoku/problemdomain/SudokuGame.java:53
↓ 3 callers
Method
getX
()
src/main/java/com/wissassblog/sudoku/userinterface/SudokuTextField.java:15
↓ 3 callers
Method
getY
()
src/main/java/com/wissassblog/sudoku/userinterface/SudokuTextField.java:19
↓ 3 callers
Method
onSudokuInput
(int x, int y, int input)
src/main/java/com/wissassblog/sudoku/userinterface/IUserInterfaceContract.java:35
↓ 3 callers
Method
rowOfSquaresIsInvalid
(Rows value, int[][] grid)
src/main/java/com/wissassblog/sudoku/computationlogic/GameLogic.java:118
↓ 3 callers
Method
sudokuIsInvalid
Checks the if the current complete or incomplete state of the game is still a valid state of a Sudoku game, relative to columns, rows, and squares. @
src/main/java/com/wissassblog/sudoku/computationlogic/GameLogic.java:73
↓ 2 callers
Method
copyToNewArray
Creates and returns a new Array with the same values as the inputted Array. @param oldArray
src/main/java/com/wissassblog/sudoku/computationlogic/SudokuUtilities.java:27
↓ 2 callers
Method
getGameData
()
src/main/java/com/wissassblog/sudoku/problemdomain/IStorage.java:9
↓ 2 callers
Method
getLine
Convenience method to reduce repetitious code. X, Y, Height, Width, @return A Rectangle to specification
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:189
↓ 2 callers
Method
getValidStart
Note: Arrays which do not use an initializer have all elements assigned to 0 by default. This is convenient, as 0 represents an empty square in the su
src/test/java/TestData.java:12
↓ 2 callers
Method
getX
()
src/main/java/com/wissassblog/sudoku/problemdomain/Coordinates.java:17
↓ 2 callers
Method
getY
()
src/main/java/com/wissassblog/sudoku/problemdomain/Coordinates.java:21
↓ 2 callers
Method
handleInput
@param value expected to be an integer from 0-9, inclusive @param source the textfield object that was clicked.
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:326
↓ 2 callers
Method
onDialogClick
()
src/main/java/com/wissassblog/sudoku/userinterface/IUserInterfaceContract.java:36
↓ 2 callers
Method
showError
(String message)
src/main/java/com/wissassblog/sudoku/userinterface/IUserInterfaceContract.java:49
↓ 2 callers
Method
updateBoard
(SudokuGame game)
src/main/java/com/wissassblog/sudoku/userinterface/IUserInterfaceContract.java:47
↓ 2 callers
Method
updateGameData
(SudokuGame game)
src/main/java/com/wissassblog/sudoku/problemdomain/IStorage.java:8
↓ 1 callers
Method
build
This class takes in the uiImpl object which is tightly-coupled to the JavaFX framework, and binds that object to the various other objects necessary f
src/main/java/com/wissassblog/sudoku/buildlogic/SudokuBuildLogic.java:19
↓ 1 callers
Method
clearArray
(int[][] newGrid)
src/main/java/com/wissassblog/sudoku/computationlogic/GameGenerator.java:140
↓ 1 callers
Method
drawBackground
Background of the primary window @param root
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:207
↓ 1 callers
Method
drawGridLines
In order to draw the various lines that make up the Sudoku grid, we use a starting x and y offset value (remember, x grows positively from left to rig
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:148
↓ 1 callers
Method
drawSudokuBoard
Background of the actual sudoku board, offset from the window by BOARD_PADDING @param root
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:217
↓ 1 callers
Method
drawTextFields
1. Draw each TextField based on x and y values. 2. As each TextField is drawn, add it's coordinates (x, y) based on it's Hash Value to to the HashMap.
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:92
↓ 1 callers
Method
drawTitle
(Group root)
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:227
↓ 1 callers
Method
getGameData
()
src/main/java/com/wissassblog/sudoku/persistence/LocalStorageImpl.java:41
↓ 1 callers
Method
getNewGameGrid
()
src/main/java/com/wissassblog/sudoku/computationlogic/GameGenerator.java:15
↓ 1 callers
Method
getSolvedGame
1. Generate a new 9x9 2D Array. 2. For each value in the range 1..9, allocate that value 9 times based on the following constraints: - A Random coordi
src/main/java/com/wissassblog/sudoku/computationlogic/GameGenerator.java:28
↓ 1 callers
Method
initializeUserInterface
()
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:76
↓ 1 callers
Method
main
(String[] args)
src/main/java/com/wissassblog/sudoku/SudokuApplication.java:30
↓ 1 callers
Method
puzzleIsSolvable
1.Enumerate all empty cells in typewriter order (left to right, top to bottom) <p> 2.Our “current cell” is the first cell in the enumeration. <p> 3.En
src/main/java/com/wissassblog/sudoku/computationlogic/SudokuSolver.java:34
↓ 1 callers
Method
setListener
(IUserInterfaceContract.EventListener listener)
src/main/java/com/wissassblog/sudoku/userinterface/IUserInterfaceContract.java:42
↓ 1 callers
Method
showDialog
(String message)
src/main/java/com/wissassblog/sudoku/userinterface/IUserInterfaceContract.java:48
↓ 1 callers
Method
styleSudokuTile
Helper method for styling a sudoku tile number @param tile @param x @param y
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:128
↓ 1 callers
Method
typeWriterEnumerate
Enumerate all empty cells in typewriter order (left to right, top to bottom) <p> 1. Traverse x from from 0-8 for each y, from 0-8, adding to a 1 dimen
src/main/java/com/wissassblog/sudoku/computationlogic/SudokuSolver.java:89
↓ 1 callers
Method
unsolveGame
The purpose of this function is to take a game which has already been solved (and thus proven to be solvable), and randomly assign a certain number of
src/main/java/com/wissassblog/sudoku/computationlogic/GameGenerator.java:103
↓ 1 callers
Method
updateGameData
(SudokuGame game)
src/main/java/com/wissassblog/sudoku/persistence/LocalStorageImpl.java:26
↓ 1 callers
Method
updateSquare
(int x, int y, int input)
src/main/java/com/wissassblog/sudoku/userinterface/IUserInterfaceContract.java:44
Method
BadUserInterfaceImpl
(Stage stage)
src/main/java/com/wissassblog/sudoku/userinterface/BadUserInterfaceImpl.java:39
Method
ControlLogic
(IStorage storage, IUserInterfaceContract.View view)
src/main/java/com/wissassblog/sudoku/userinterface/logic/ControlLogic.java:25
Method
Coordinates
(int x, int y)
src/main/java/com/wissassblog/sudoku/problemdomain/Coordinates.java:12
Method
SudokuGame
I suppose that the most fundamental states required to represent a sudoku game, are an active state and a complete state. The game will start in Activ
src/main/java/com/wissassblog/sudoku/problemdomain/SudokuGame.java:48
Method
SudokuTextField
(int x, int y)
src/main/java/com/wissassblog/sudoku/userinterface/SudokuTextField.java:9
Method
UserInterfaceImpl
Stage and Group are JavaFX specific classes for modifying the UI. Think of them as containers of various UI components. A HashMap is a data structure
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:63
Method
canCopyArrayValuesCorrectly
()
src/test/java/GameLogicTest.java:34
Method
collectionHasNoRepeats
Expected value: false
src/test/java/GameLogicTest.java:153
Method
collectionHasRepeats
Collection does have repeated integer values (this will be either a row or a column) Expected value: true
src/test/java/GameLogicTest.java:141
Method
gameColumnsAreInvalid
Expected value: true
src/test/java/GameLogicTest.java:93
Method
gameColumnsAreValid
Expected value: false
src/test/java/GameLogicTest.java:107
Method
gameRowsAreInvalid
Expected value: true
src/test/java/GameLogicTest.java:118
Method
gameRowsAreValid
Expected value: false
src/test/java/GameLogicTest.java:129
Method
gameSquaresAreFilled
Expected value: false
src/test/java/GameLogicTest.java:59
Method
gameSquaresAreInvalid
Expected value: true
src/test/java/GameLogicTest.java:67
Method
gameSquaresAreNotFilled
Expected value: True (i.e. squares are indeed not all filled
src/test/java/GameLogicTest.java:51
Method
gameSquaresAreValid
Expected value: false
src/test/java/GameLogicTest.java:78
Method
handle
(KeyEvent event)
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:296
Method
handle
(KeyEvent event)
src/main/java/com/wissassblog/sudoku/userinterface/BadUserInterfaceImpl.java:193
Method
hashCode
()
src/main/java/com/wissassblog/sudoku/problemdomain/Coordinates.java:34
Method
main
(String[] args)
src/main/java/com/wissassblog/sudoku/Main.java:5
Method
onDialogClick
()
src/main/java/com/wissassblog/sudoku/userinterface/logic/ControlLogic.java:66
Method
onGenerateNewPuzzle
Generate a new puzzle based on the appropriate rules, with 30 numbers initially completed.
src/test/java/GameGeneratorTest.java:10
Method
onSudokuInput
Use Case: 1. Retrieve current "state" of the data from IStorage 2. Update it according to the input 3. Write the result to IStorage @param x X coordin
src/main/java/com/wissassblog/sudoku/userinterface/logic/ControlLogic.java:41
Method
onValidateActivePuzzle
()
src/test/java/GameLogicTest.java:25
Method
onValidateValidPuzzle
Start with the basic logic to validate a valid Sudoku puzzle
src/test/java/GameLogicTest.java:16
Method
replaceSelection
(String s)
src/main/java/com/wissassblog/sudoku/userinterface/SudokuTextField.java:34
Method
replaceText
(int i, int i1, String s)
src/main/java/com/wissassblog/sudoku/userinterface/SudokuTextField.java:26
Method
setListener
(IUserInterfaceContract.EventListener listener)
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:71
Method
setListener
(IUserInterfaceContract.EventListener listener)
src/main/java/com/wissassblog/sudoku/userinterface/BadUserInterfaceImpl.java:127
Method
showDialog
(String message)
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:281
Method
showDialog
(String message)
src/main/java/com/wissassblog/sudoku/userinterface/BadUserInterfaceImpl.java:178
Method
showError
(String message)
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:289
Method
showError
(String message)
src/main/java/com/wissassblog/sudoku/userinterface/BadUserInterfaceImpl.java:186
Method
start
(Stage primaryStage)
src/main/java/com/wissassblog/sudoku/SudokuApplication.java:17
Method
test100NewPuzzles
After spending several days sorting out how to generate a new valid sudoku puzzle, this test will confirm if my algorithm works.
src/test/java/GameGeneratorTest.java:35
Method
updateBoard
(SudokuGame game)
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:251
Method
updateBoard
(SudokuGame game)
src/main/java/com/wissassblog/sudoku/userinterface/BadUserInterfaceImpl.java:148
Method
updateSquare
Each time the user makes an input (which can be 0 to delete a number), we update the user interface appropriately.
src/main/java/com/wissassblog/sudoku/userinterface/UserInterfaceImpl.java:239
Method
updateSquare
Each time the user makes an input (which can be 0 to delete a number), we update the user interface appropriately.
src/main/java/com/wissassblog/sudoku/userinterface/BadUserInterfaceImpl.java:136