游策手记GAMESTRATEGISTS

第一方作品 · 光路解谜

折光

REFRACT

一张 8×6 的暗色棋盘,几束红绿蓝的光,和几个能转的镜面。光会一格一格往前走,遇到镜面拐弯、遇到棱镜分成两束、遇到玻璃砖换个颜色。30 关里你要做的只有一件事:让每个接收器吃对它要的那个颜色,而且尽量少动几步。

查看玩法
关卡 30 关网格 8 × 6元件 5 种光色 3 色 + 混色单束上限 64 段记录 每关最少步数

键盘:方向键 / WASD、空格、P 暂停、M 静音 · 手机:直接在画面上触摸

怎么玩

光路解谜最容易做成「背答案」:记下哪个镜子该转几下,然后一路点过去。为了避开这个,本作把颜色也拉进来了——同一条路径上如果两束光在接收器前汇合,颜色会相加,于是「把蓝的那束也引过来」变成了解法的一部分,而不只是多摆一面镜子。

另一件坚持的事是:光必须真的被算出来。画面上那些亮线不是预先画好的装饰,而是每帧从光源出发、逐格推进、遇到元件就改方向或分裂的结果。你动一下镜子,整张图的光会立刻重算。

关卡
30 关
网格
8 列 × 6 行
元件
5 种(镜 / 棱镜 / 玻璃砖 / 传送门 / 遮光板)
光色
红 绿 蓝 + 4 种混色
单束上限
64 段
每关记录
最少步数与通关状态

操作

鼠标左键 / 触摸旋转或放置元件
右键 / 长按移除元件
Z撤销上一步
R重置本关
H提示(高亮一个还没摆对的格子)
N通关后进入下一关
P / Esc暂停 / 回标题

一束光怎么走

每个光源有固定的位置和出射方向,颜色是红、绿、蓝里的一种。追踪时从它出发,按方向向量一格一格推进:空格继续直行,遇到元件就按规则改变方向、颜色,或者分裂出新的光束。分裂出来的束会排进队列,用同样的规则继续走。

为了防止镜面把光绕成死循环,单束最多走 64 段;同时记下「格子 + 方向 + 颜色」三元组,重复出现就不再继续。这两个限制保证了再怎么乱摆,画面也不会卡住。接收器本身不挡光,所以一条光路可以连续点亮好几个。

五种元件

元件种类刻意压到五种,每一种只负责一件事,看到图标就知道它会怎么改光路。前面几关一次只给一种,后面才叠起来用。

颜色会相加

颜色用三个位来记:红、绿、蓝各占一位。两束光落在同一格时按位相加,于是红加绿是黄,绿加蓝是青,红加蓝是品红,三色齐了就是白。玻璃砖把颜色在这三个位之间轮换一档,所以它其实是一个「换色器」,不是减速带。

接收器会写明自己要的颜色。只被红光照到而它要的是黄,不会算通过;得想办法把绿的那束也引到同一格。中后期不少关卡的解法都藏在这里:不是再修一条路,而是让两条路在终点前汇合。

三十关怎么保证有解

关卡不是随手撒几面镜子再祈祷能过。生成时先摆出一套完整可行的镜面布局,把光束跑一遍,只把「真的被照亮的格子」挑出来放接收器,且接收器要的颜色就等于那一格实际算出来的颜色。这样解答从构造上就存在。

然后把这套布局里的大部分镜面按原样锁好,只留少数几格留给玩家去转或去放。难度靠留白数量和引入的元件种类往上涨,不靠把答案藏得更深。固定种子保证同一关每次打开完全一样,也方便你回头刷最少步数。

步数、撤销与提示

每转一次镜面、每放一个元件记 1 步,撤销和提示不计步。过关时把这一关的步数写进本机记录,只保留更小的那个;选关屏里已通关的格子会标出来,标题屏显示你过了多少关、总共用了多少步。

提示会高亮一个「和解答布局还不一致」的格子,不直接替你转好。它不限次数,但也不会偷偷改答案。撤销用栈实现,能一路退回到开局;重置则把本关恢复到初始状态。

常见问题

光会不会因为镜子摆成环而卡住?
不会。单束最多走 64 段,而且「格子 + 方向 + 颜色」重复出现就停止追踪,循环会被直接截断。
接收器亮了为什么还不过关?
多半是颜色不对。看一下接收器要的是单色还是混色,把另一束光也引到同一格,或者用玻璃砖把颜色换一档。
提示会不会把答案直接给我?
不会。它只高亮一个还没摆对的格子,转几下、往哪转仍然由你决定,也不计入步数。
进度会同步到别的设备吗?
不会。通关状态与最少步数只写在这台设备的浏览器本地存储里,没有账号也没有服务端。

先点亮一个接收器试试

不用下载,不用注册。30 关,每关都留着一条能走通的路。