目录尺寸与种子

尺寸与种子

宽度和高度数的是格子。单元格大小决定每一格分到多少像素。而种子就是把这一切钉死的那串短代码——明天再敲同一串,你得到的还是同一个迷宫。

宽度与高度#

宽度和高度设定迷宫横向和纵向各有多少格。工作室在两个方向上都接受4-120,新迷宫从30 × 30起步。把它们调大会让迷宫更难——格子越多,岔口越多、死胡同越多,从入口到出口的路线也越长。

数的是格子,不是像素#

这一点几乎人人都会栽跟头:宽度为30并不是说宽三十个像素,而是说横向有三十格。换算成像素究竟有多宽,那是单元格大小的职责——在方形网格上,30 格、每格 25 像素就是一片 750 像素宽的网格,同样这 30 格若每格 6 像素则只有 180。迷宫一模一样,只是尺度不同。

宽度、高度、种子和单元格大小同处迷宫分组。

单元格大小#

单元格大小就是每格多少像素——6-120,默认为25。它是一个渲染控件:它改变的是迷宫被画得多大,从不改变迷宫是什么。同样的种子、同样的墙壁、同样的解答,只是用来画它们的像素更多了。

因为每个图层的宽度都是单元格大小的百分比,把它调大时,墙壁、边框和解答线会同步变粗——放大的过程中没有哪一处会变得细弱。代价是时间:格子越大,渲染越久。

同一份 30 × 30 的配方,两种单元格大小——同一个迷宫,只是画得更大。 1600×900

最终的图像尺寸#

两者是相乘的关系。横向格数 × 每格像素数,得到迷宫网格的像素尺寸;而成品图像是这片网格再加上一圈留白——启用的边框会为它的偏移和线宽预留空间,所以导出结果会比光秃秃的网格略大一些。把边框关掉,这圈留白也随之消失(参见图层)。

不同拓扑下的尺寸#

每种网格上的单元格形状并不相同,所以同样的30 × 30,在六边形或三角形上覆盖的面积——以及呈现出的外形轮廓——都和方形不一样。这个数字始终是格子的数量,从来不是一段尺寸。拓扑一页逐一走过这五种网格。

如果这一层带有形状,宽度和高度描述的就是形状被装进去的那个方框,之后迷宫会被裁剪成轮廓的样子——所以成品迷宫可能比你所写的方框更小。这是预期之中的;参见形状与蒙版

种子#

迷宫的全部随机性都源自种子。工作室把它显示为一小串由字母和数字组成的代码,而它的承诺就和听上去一样简单:同一段代码总会生成同一个迷宫。改动其中一个字符,你得到的就是一个截然不同的迷宫。

在底层,这段代码不过是把一个介于04,294,967,295之间的整数写得更紧凑一些。你完全不必去想那个数字——如果你愿意深入了解,什么是迷宫种子?一页把这个概念讲得很透。

输入一段代码#

这个输入框不区分大小写——你敲小写,它会显示成大写——而且会边输入边清理,去掉空格和标点,所以粘贴进来的代码可以直接用。超出范围的代码会被拒绝,而不是取近似值:在你编辑完成之前,迷宫会保留当前的种子,而不会悄悄跳到另一个迷宫上去。

重新掷一个#

输入框边缘的按钮(随机生成种子)会铸一个新的。这是挑迷宫的常规方式:先把尺寸、拓扑和样式定下来,然后不断重掷,直到它的形态合你心意为止。其余一切都会保持你离开时的样子。

种子输入框——↻ 按钮可以重掷。

可复现性#

所有随机环节都由同一条种子化的随机流按固定顺序驱动:生成器的行走、入口和出口的搜索,以及把迷宫变成单一路径的那一刀。没有哪一步读取时钟,也没有哪一步依赖机器,所以同一份配方加同一段代码,在任何地方、任何一天都能重建出同一个迷宫。(单一路径的各个模式在高级分组里——参见通道与结构。)

这样做的回报是:迷宫成了一个你可以随时回头的设计,而不是一次必须囤起来的走运意外。去年你喜欢的那份配方,今天可以换一个更大的单元格大小渲染成海报,也可以用很小的尺寸渲染成谜题书的一页,两次得到的都是同一个迷宫。

哪些改动需要重新生成#

宽度、高度、单元格大小和种子全都属于几何结构——它们改变的是迷宫本身,而不只是它的颜色——所以无法实时重绘。工作室会把这些改动攒起来,并在画布上方升起重新生成横幅;你点击之后,迷宫才会重建。

  • 等待重新生成:宽度、高度、单元格大小、种子、拓扑、形状,以及各项结构控件。
  • 即时重绘:颜色、图层的可见性与堆叠顺序,以及各项实时宽度。

挑一个尺寸#

没有错误答案,不过这个取值范围各段的手感值得在你开挑之前先了解一下:

  • 10 × 10 上下——几秒钟就能解开。餐垫、儿童活动页、图标。
  • 30 × 30 上下——默认值,也是很好的一页纸谜题:需要花上几分钟。
  • 60 × 60 及以上——真正需要坐下来啃的挑战,也是海报开始变得合理的起点。