Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/s5bug/flowsolver
Flow (numberlink) puzzle solver written with C++ and Z3
https://github.com/s5bug/flowsolver
Last synced: 1 day ago
JSON representation
Flow (numberlink) puzzle solver written with C++ and Z3
- Host: GitHub
- URL: https://github.com/s5bug/flowsolver
- Owner: s5bug
- Created: 2021-07-21T21:39:42.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-07-22T22:15:12.000Z (over 3 years ago)
- Last Synced: 2024-11-10T16:12:40.315Z (about 2 months ago)
- Language: C++
- Size: 5.86 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# flowsolver
Solves Flow (aka Numberlink) puzzles using the Z3 constraint solver.
## building
Depends on Raylib and Z3.
To generate build files, you can run CMake normally:
```
mkdir build
cd build
cmake .. # Add your preferred CMake options here, such as -G or -DCMAKE_BUILD_TYPE
```And then run whatever generator you configured CMake to use.
### on windows without vcpkg
When building on Windows without VcPkg, you will need to point CMake to Z3, and
create Raylib CMake files for CMake to point at. To create the Raylib files, it
should be OK to copy the Z3 `lib/cmake/` files and modify the version code and
the library handling code. As a general rule:
- `z3::libz3` -> `raylib`
- `bin/libz3.dll` -> `lib/raylib.dll`
- `lib/libz3.lib` -> `lib/raylib.lib`
- `MAJOR.MINOR.BUGFIX.TWEAK` (z3) -> `MAJOR.MINOR.BUGFIX` (raylib)Then, you can point CMake to these files, by setting `CMAKE_PREFIX_PATH` to
`${z3_dir}\lib\cmake\z3;${raylib_dir}\lib\cmake\raylib`.Once Raylib ships with MSVC CMake files, this shouldn't need to be done.