生成填字游戏的算法

给定单词列表,您将如何将它们排列成填字游戏网格?

它不必像对称的或类似类似的“正确的”填字游戏一样:基本上只是输出每个单词的起始位置和方向。

有没有可用的Java示例?


幕布斯6054654
浏览 1127回答 3
3回答

12345678_0001

实际上,大约十年前我写了一个填字游戏生成程序(虽然很神秘,但是相同的规则适用于普通填字游戏)。它具有存储在文件中的单词(和相关线索)的列表,该列表按迄今为止的用法降序排序(因此,较少使用的单词位于文件的顶部)。从客户端提供的池中随机选择了一个模板,基本上是一个代表黑色和自由正方形的位掩码。然后,对于拼图中的每个未完成单词(基本上找到第一个空白方块,然后查看右侧的一个(交叉单词)或下方的一个(向下单词)是否也是空白),进行了搜索该文件会寻找适合的第一个单词,并考虑到该单词中已有的字母。如果没有合适的单词,您只需将整个单词标记为不完整,然后继续。最后将是一些未完成的单词,编译器将不得不填写这些单词(并在需要时将该单词和线索添加到文件中)。如果他们无法提出任何想法,则可以手动编辑填字游戏以更改约束条件,或者仅要求完全重新生成。一旦单词/线索文件达到一定大小(并且每天为该客户添加50-100条线索),很少会为每个填字游戏进行两次或三个以上的手动修正。
打开App,查看更多内容
随时随地看视频慕课网APP