3个版本 (破坏性更新)
0.3.1 | 2020年12月23日 |
---|---|
0.2.2 | 2020年12月6日 |
0.1.1 | 2020年11月25日 |
0.1.0 |
|
#2314 in 算法
110KB
2.5K SLoC
Wordfeud Solver
一个用于评估给定wordfeud棋盘和单词牌组所有可能移动的Rust库。Wordfeud Solver需要一个单词表来在特定语言中玩游戏。此库不包括单词表。您可以从这里获取荷兰语单词表 这里。
此求解器是从出色的 wordfeudplayer Python 包移植过来的。通过将其移植到Rust,它的速度变得更快。
lib.rs
:
Rust的wordfeud库。
此crate允许您计算wordfeud游戏中的最佳得分。它可以用于研究游戏策略,或者只是作弊。此库是出色的 wordfeudplayer
Python 库的Rust版本。它可以使用 rayon
crate来并行计算移动。评估棋盘所需的时间约为1毫秒。
如何使用 wordfeud_solver
首先创建一个wordfeud棋盘,然后指定要使用的单词表和棋盘上的字母牌。默认情况下使用标准棋盘,但您也可以指定自己的“随机”棋盘。单词表必须是utf-8格式,每行包含一个单词。互联网上有多个wordfeud单词表。荷兰语的单词表可以在 这里 获取。它基于 OpenTaal
单词表,作者进行了修改。
基本用法
let mut board = Board::default().with_wordlist_from_words(&["rust", "rest"])?;
let results = board.calc_all_word_scores("rusta")?;
assert_eq!(results.len(),8);
for s in results {
println!("{} {} {} {} {}", s.x, s.y, s.horizontal, board.decode(s.word), s.score);
}
board.play_word("rust", 7, 7, true, true)?;
println!("{}", board);
依赖项
~2–2.9MB
~63K SLoC