This crate contains the core crossword-solving code used in the Ingrid construction app, as well as a standalone binary that can be used to solve grids from the command line.
After setting up Rust, you can install the Ingrid Core CLI
tool with cargo
:
$ cargo install ingrid_core
Then you just need to provide a grid as an input file:
``` $ cat example_grid.txt ....#.....#.... ....#.....#.... ............... ......##.......
............### .....#.....#... ....#.....#.... ...#.....#.....
......#.....### .......##...... ............... ....#.....#.... ....#.....#.... $ ingridcore examplegrid.txt arte#estar#pram leis#seale#aero dancastellaneta imgame##yeltsin
jamesearlray### adfee#beene#cma baas#coats#coal sms#proms#halle
issued#deere### seabees##tonkin beginningandend nyet#croak#atta sats#eerie#roos ```
You can also use a custom word list (the default is Spread the Wordlist) or customize various other options: ``` $ ingridcore --help ingridcore: Command-line crossword generation tool
Usage: ingrid_core [OPTIONS]
Arguments:
Options:
--wordlist
The backtracking search implementation in this library owes a lot to "Adaptive Strategies for Solving Constraint Satisfaction Problems" by Thanasis Balafoutis, which was helpful both as an overview of the CSP space and a source of specific implementation ideas.
The CLI tool includes a copy of the free Spread the Wordlist dictionary published by Brooke Husic and Enrique Henestroza Anguiano.