Skip to content

Wik1ii/sudoku-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

sudoku-java

=========================================== SUDOKU GAME

Lanquage: Java Environment: Java 17+ Description: Terminal-based game Sudoku with random generated board, difficulity level, move validations and score saving.


  1. Project description

A classic Sudoku game implemented in Java runing in terminal. Players choose difficulity level, solve a randomly generated board, and in the end gets score based on:

  • difficulity level
  • number of mistakes
  • time taken to complite the game

Scores is saved locally in the file "score.ser".


  1. project structure

Packages and their functions:

  • sudoku.app -> Main, sudokuGame – Starting the game, main menu

  • sudoku.controller -> SudokuBoard – representation of Sudoku board

  • sudoku.generator -> SudokuGenerator – generation a board and puzzle

  • sudoku.model -> GameController – game logic and user interaction -> Difficulty, SudokuDifficultySelector – difficulity level

  • sudoku.scoreManager -> SudokuScoreController – managing saved scores -> SudokuScoreCounter, SudokuScoreEntry – score logic

  • sudoku.solver -> SudokuSolver, SudokuCountSolutions – solving and checking a board

  • sudoku.validator -> Classes validating the correctness of moves and boards


  1. How to run

requirements:

  • Java 17 or newest

Steps:

  1. compile the project (e.g, in IntelliJ or in javac).
  2. run the sudoku.app.Main.
  3. In the console, execute the command as instructed.

  1. Game rules

  • Enter moves in the following format : [row][column] [value] e.g. A1 5 – enters 5 in the first square of the board.
  • Enter q, to end the game.
  • Empty squares are represented by #.

  1. Result file

The results are stored in the scores.ser file in the program's working folder. The file is automatically created upon first launch.


  1. Notes

This is an educational project for learning Java programming.

About

Sudoku project built in Java as part of my learning portfolio. Focused on clean code and algorithm design.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages