Skip to content

Nurikabe Solver at Optimization Methods (slo. Optimizacijske Metode)

License

Notifications You must be signed in to change notification settings

jonpas/NuriSolver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FERI-NuriSolver

Nurikabe puzzle solver at Optimization Methods (slo. Optimizacijske Metode).

Solves any-size Nurikabe using a series of logical procedures and rules. Harder puzzles use partially-threaded guess and backtrack in addition to logical solving steps.

Usage

usage: nurisolver.py [-h] [--plot] [--guess G] [--verbose [L]] [--debug] [--threads N] [file]

Nurikabe Solver

positional arguments:
  file                  read puzzle from file (run tests if none)

optional arguments:
  -h, --help            show this help message and exit
  --plot, -p            plot solution (requires pygame)
  --guess G, -g G       guess steps when logic is exhausted, limited by maximum amount of failed
                        guesses (default: 500)
  --verbose [L], -v [L]
                        plot solving steps on mouse button or space key press (requires pygame),
                        optionally start on given step
  --debug, -d           log debug steps and plot additional information (requires pygame)
  --threads N, -j N     use threads for guessing

Setup

Targetted at Python 3.9.

  • $ python -m venv venv (virtual environment)
  • $ source venv/bin/activate
  • $ pip install -r requirements.txt
    • $ pip freeze > requirements.txt (update requirements)

Dependencies:

Resources

About

Nurikabe Solver at Optimization Methods (slo. Optimizacijske Metode)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages