讨论/技术交流/求一款纵横文字游戏的算法,类似于数独/
求一款纵横文字游戏的算法,类似于数独

简介

求一款纵横文字游戏的算法,类似于数独,已知一些正确的诗句或词语,纵横排列在矩阵宫格中,空白的地方随机填上错误的字。


排列规则

给定一个的诗句/词语数组,例如:

[
    "一行白鹭上青天",
    "白发苍苍",
    "苍白无力",
    "事实证明",
    "实事求是"
]

image.png

(1) 矩阵始终保持为正方形,比较横纵向格子数量,最大为N,则矩阵数量就为NxN(N最大为10,最小为6)

(2)【N的判断】以数组中最长的字符串为判定标准:
若数组中最长的字符串长度<6,则N=6,
若若数组中最长的字符串长度≥6,则以最长的长度为N,比如最长字符是7,那就有7X7=49个格子

(3) 数组中的选项默认优先从上到下进行布局(尽量让答案不聚集在上部分,让布局看起来错落有致),若继续添加时的内容无法显示,则可调整之前添加的内容至其他空白处。

(4) 有相交字符,以第一行作为起点进行布局计算,会实时根据相交的字符进行调整(默认优先识别当前输入的上一级)。即 当后项较前项有重复的字的话,按照纵横交错的规则循环分布。
举例:假设第三项与第一项和第二项都有文字重叠且位置排布均符合规则允许(可以排的下),优先定位第二项

(4) 数组的前项的位置可根据后面的项内容是否有重复的字变动位置。
例如,
第一项:朝辞白帝彩云间
第二项:一穷二白
第三项:又岂在朝朝暮暮
image.png

(5) 正确答案都是从上到下、从左到右的文字顺序

(6) 剩余的空格进行随机汉字填充,每次输入答案内容时就会根据规则替换随机汉字/字母

共 0 个回复
暂无回复