This project implements a terminal version of the Sudoku game.
The full description of the project may be found here.
According to the wikipedia:
Sudoku is a logic-based, combinatorial number-placement puzzle. The objective is to fill a 9×9 grid with digits so that each column, each row, and each of the nine 3×3 subgrids that compose the grid (also called "boxes", "blocks", or "regions") contain all of the digits from 1 to 9. The puzzle setter provides a partially completed grid, which for a well-posed puzzle has a single solution.
The Sudoku rules are:
- Each row, column, and nonet can contain each number (typically 1 to 9) exactly once.
- The sum of all numbers in any nonet, row, or column must be equal to 45.
A ascii file with puzzles, as the one available in data/input.txt
.
Some Orientatios about how to compile and run this project:
- You'll need to have
G++
compiler andCmake
installed and up to date. - You have to create a folder
build
within thesource
folder. - You have to execute the command
cmake ..
within thebuild
folder, as theCMakeLists.txt
file should be in the parent folder of the current one. - You have to execute the command
make
within the 'build' folder. - You have to execute the command
./build/sudoku
withinsource
folder due to the way the project has been organized. - Portuguese version
cmake.txt
.
% ./sudoku --help
Usage: sudoku [-c <num>] [-h] <input_cfg_file>
Game options:
-c <num> Number of checks per game. Default = 3.
-h Print this help text.
The game offers:
- colored output.
- indication of invalid plays, i.e. plays that breaks the Sudoku's basic rules.
- a simple interface.
- undo actions.
- limited possibility of checking if a move is correct or not.
UFRN/DIMAp, copyright 2020.
Selan R. dos Santos
- Pedro Henrique Sales dos Santos
- Igor Rauan Soares da Silva