Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

jonpas/NuriSolver

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
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

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.