11 个版本 (6 个重大更新)
0.7.2 | 2022 年 5 月 20 日 |
---|---|
0.7.1 | 2022 年 5 月 20 日 |
0.6.0 | 2022 年 5 月 18 日 |
0.5.2 | 2022 年 5 月 18 日 |
0.1.0 | 2022 年 5 月 12 日 |
#374 in 游戏
每月 25 次下载
1MB
296 行
关于
你在玩 Boggle 游戏时,是否曾希望知道棋盘上所有可能的解决方案?现在不再需要了!Roggle 是一个 Rust 包,允许你解决任何 N x M 的 Boggle 棋盘。
只需将 N x M 棋盘作为字符串传递,用空格分隔行。对于 Qu
面板,使用 q
作为字母。
示例用法
棋盘
w o d p
d j i k
a s o p
s a Qu s
代码
use roggle;
use std::collections::HashSet;
fn main() {
let board = "wodp djik asop saqs";
let solutions: HashSet<String> = roggle::solve(board);
println!("{:?}", solutions);
}
内部结构
Roggle 使用 Trie 将英语词典分解成易于搜索的树。然后它递归遍历每个棋盘面板,搜索所有邻居以查找可能的单词,直到完成!
词典
使用的词典是 466k 个单词的英语词典。一些单词不是很常见(显然 aaaa
是一个单词),但 Roggle 更愿意展示所有可能性,而不是让你在得分上落后!
就像任何 Boggle 游戏一样,你可以和朋友争论哪些单词是合法的 :)