NaiJi ✨ bb0c4d9fc4 | ||
---|---|---|
.gitignore | ||
CMakeLists.txt | ||
LICENSE | ||
README.md | ||
application.cpp | ||
application.h | ||
argsprocessor.cpp | ||
argsprocessor.h | ||
board.cpp | ||
board.h | ||
filepath_util.h | ||
main.cpp | ||
output_util.h |
README.md
sliding-puzzle
A simple game which takes an image, then slices it into tiles and shuffles. You need to restore the initial image by swapping neighbor tiles! It's a command line application and does support --help.
How to build
You only need a compiler supporting c++17 and sfml 2.5.1 (or latter versions).
First of all, clone the project and go to the project folder
git clone https://dev.udongein.xyz/NaiJi/sliding-puzzle
cd sliding-puzzle/
Then simply build it with CMake
cmake CMakeLists.txt -B ../sliding-puzzle-build
cd ../sliding-puzzle-build
make
Usage
Run it from terminal, providing optional flags and filepath. Move cursor by either WASD or arrows. Press Z to select a tile and then select a direction to swap the tile with a neighbor from that direction. Repeat until the inital image gets completely assembled!
usage: sliding-puzzle [-OPTIONS...] FILE-OR-DIRECTORY
Provide FILE-OR-DIRECTORY variable as a path to either a directory
which contains images (one will be picked randomly) or a specific
image file of .bmp, .jpg, of .png format.
If no path was provided, it will be assumed as '.'!
Options:
[-r NUMxNUM] Provide it if you want to explicitly define
window resolution.
[-s NUM] Provide it if you want to explicitly define
qualifier for image slicing, it's counted
by the smallest side of given source texture.
Hence, if your image is square, the amount of tiles
will be num * num.