全新数独布局:81个形状独特的单元格
全新数独布局:81个形状独特的单元格
2025年3月12日・阅读时长5分钟
我每天玩数独的习惯终于产生了一些有用的东西:我发明了一种新的谜题,我称之为 “Cracked Sudoku”。它的名字来源于开裂的泥土:
即使它看起来很奇怪,但规则对于数独爱好者来说应该很熟悉:
在单元格中填入 1-9 的数字,保证在深色轮廓的组或彩色运行线中没有重复的数字。
来试试看:
规则设计
那些生活丰富的人可能不知道,在过去的 10 年里,出现了大量的另类数独规则:
German Whisper Lines, Dutch flat mates, Killer cages, Yin-yang (我最喜欢的), Fog-of-war, Sum arrows, Even & Odd squares, Thermometers, Black dots, White dots, Jigsaw Sudo, Renban lines, Nabner lines, Star Battle, Masyu loop, Inequality signs, Region sum lines
呼。
尽管在 规则 方面有如此多的创新,但在 布局 方面的创新相对较少。 几乎所有的数独都使用 9x9 的网格。 也有使用六边形或三角形的变体,但它们很少见,而且解决体验与网格没有太大不同。
为了解决这个问题,我意识到可以调整数独的规则,以允许任何形状的单元格,从而在每个谜题上产生不同的布局:
这些布局是从 Voronoi Diagrams 生成的,但你也可以通过其他方式设计 Cracked Sudoku。
它们仍然像经典数独一样,有 81 个单元格,分为 9 组。 然而,Cracked Sudoku 没有 “行” 和 “列”,而是有 “runs”。 “Runs” 是由 2 到 9 个单元格组成的一条线,其中不能包含重复的数字。 这是其中一个谜题,显示了它的 “runs”:
随机分配的线条颜色仅用于帮助区分不同的 runs 1。
我编写的谜题生成器(稍后会详细介绍)根据单元格布局创建 runs:Runs 连接所有相邻的单元格,并且可以穿过另一侧形成更长的 run。 对于 N 边形,“另一侧” 意味着 “距离彼此 N/2 条边的两条边”。 这是一个令人困惑的解释,我希望你可以从上图中直观地理解它。 runs 在具有奇数条边的单元格上终止,因为 “相对边” 的概念不适用于奇数条边。
人工构造器可以随意放置 runs。
奇怪的 Runs
Runs 可以形成有趣的结构。 在这里,绿色和橙色的 runs 在多个单元格中交叉:
理论上,我的生成器可能会生成一个形成循环的 run,但我没有在生成的任何谜题中遇到这种情况。 人工构造器可以轻松地创建循环。 如果我的生成器根据其 run 逻辑生成循环,则它需要这样的布局:
谜题生成
人工设计的谜题比计算机生成的谜题更有趣,所以理想情况下,我应该为你(和我!)提供一个人工设计的 Cracked Sudoku。 不幸的是,我不是一个经验丰富的谜题构造器,所以我编写了一个谜题生成器。
它分 4 个阶段工作:
- 布局生成:随机放置 81 个点,并为它们生成 Voronoi diagram。 如果 diagram 有任何长度超过 9 的 runs,则重新开始步骤 1。
- 创建 9 组,每组 9 个单元格。 这循环遍历各组,每次添加一个单元格,如果某一组被其他组 “pin 住”,则回溯。
- 在单元格中填入数字。 这为每个单元格选择随机数,如果发现冲突则回溯。 通常没有解决方案,所以我必须完全回到我在步骤 2 中停止的地方,尝试不同的分组。 经过几次失败的分组后,我放弃并返回到步骤 1。
- 减少给定的数字。 循环遍历每个单元格,清除它的值,并检查谜题是否仍然只有一个解决方案。 如果没有,我将值放回去。
有了这些,我就可以生成 Cracked Sudoku 了。 我让它运行了足够长的时间来生成数千个谜题——足够几年的每日谜题。
未来工作
如果我继续从事这项工作,我会做一些事情:
- 尝试其他布局:凹多边形。 弯曲的分割线。 等等。 我的直觉告诉我,谜题规则仍然适用于凹多边形,但你必须使用 Voronoi Diagrams 以外的东西来生成它们。
- 尝试不同的分组形状。 我认为制作一个其中一组完全包围另一组的谜题会很酷
- 确保单元格具有最小面积,边缘具有最小长度。
- 使生成器生成具有更多长 runs 的谜题。
- 防止分组过于 “锯齿状”,这只是一个品味问题。
- 手动设计一个 Cracked Sudoku。 我想尝试独特的单元格布局,以有目的地创建循环 runs。 我还认为有一个按数字着色的谜题的机会,当你 “将所有偶数涂成棕色” 或其他颜色时,可以揭示一些东西。 这使我想到了……
谜题构造师招募
你是否制作过一个在 Cracking the Cryptic 上有特色的数独? 如果是这样,我很乐意与你合作创作一个人工制作的 Cracked Sudoku,并让 Cracking the Cryptic 来解决它(这是我的一个书呆子梦想)。 我没有足够的构造经验来独自制作一个高质量的数独。 如果你有兴趣,请发送电子邮件至 “daniel”,地址为本网站的域名。 对于其他人,请订阅我的新闻通讯,以便在第一个人工制作的 Cracked Sudoku 发布时收到通知。
试试看
你可以在这里玩 Cracked Sudoku。 就像 Wordle 一样,它每天都有一个新谜题。
- 我想知道需要多少种颜色才能保证,对于所有 Cracked Sudoku 布局,没有相同颜色的 runs 必须交叉 ↩︎