5 个稳定版本

1.3.1 2024年4月7日
1.3.0 2024年4月2日
1.2.0 2024年1月6日
1.1.0 2023年7月23日
1.0.0 2022年10月16日

#453 in 命令行工具

MIT 许可证

1.5MB
4K SLoC

Ingrid Core

此crate包含Ingrid构造应用程序中使用的核心填字游戏解决代码,以及一个独立的二进制文件,可用于从命令行解决网格。

用法

设置 Rust 后,您可以使用 cargo 安装Ingrid Core CLI工具

$ cargo install ingrid_core

然后您只需要提供一个网格作为输入文件

$ cat example_grid.txt
....#.....#....
....#.....#....
...............
......##.......
###.....#......
............###
.....#.....#...
....#.....#....
...#.....#.....
###cremebrulees
......#.....###
.......##......
...............
....#.....#....
....#.....#....
$ ingrid_core example_grid.txt
bile#seeit#slaw
room#lasso#pone
intimateapparel
garret##whirred
###amens#easels
wisterialane###
aloes#nuevo#tnt
ssns#betty#ciao
pas#wipes#pelts
###cremebrulees
dealin#deere###
imgonna##aesops
goingintodetail
utne#anise#atta
pegs#lemur#shay

您还可以使用自定义词表(默认为 Spread the Wordlist)或自定义各种其他选项

$ ingrid_core --help
ingrid_core: Command-line crossword generation tool

Usage: ingrid_core [OPTIONS] <GRID_PATH>

Arguments:
  <GRID_PATH>  Path to the grid file, as ASCII with # representing blocks and . representing empty squares

Options:
      --wordlist <WORDLIST>
          Path to a scored wordlist file [default: (embedded copy of Spread the Wordlist)]
      --min-score <MIN_SCORE>
          Minimum allowable word score [default: 50]
      --max-shared-substring <MAX_SHARED_SUBSTRING>
          Maximum shared substring length between entries [default: none]
  -h, --help
          Print help information
  -V, --version
          Print version information

致谢

  • 本库中回溯搜索的实现很大程度上归功于 Thanasis Balafoutis 的 "Adaptive Strategies for Solving Constraint Satisfaction Problems",它既有关于 CSP 空间的概述,又是具体实现想法的来源。

  • CLI 工具包含由 Brooke Husic 和 Enrique Henestroza Anguiano 发布的免费 Spread the Wordlist 字典的一个副本。

依赖

~4–14MB
~209K SLoC