数字、日期与单位是线索时,怎样避免格式转换改变答案?
先确定玩家使用的是字符、日期含义还是测量值,再决定能否改写格式。用一张四层对照单,把原始显示、内部含义、计算依据和验收样例连起来,避免译文通顺了,谜题却换了答案。

先确定线索靠什么成立,再转换格式
数字、日期和单位进入谜题后,不能按普通说明文字直接替换。先标明玩家究竟要抄取字符、识别日期,还是比较与计算数量;再把字面显示、内部含义、计算依据和答案验收分开记录。允许变化的是表达,必须保持的是解题所依赖的关系。
例如,“取标签最后两位”依赖印刷字符,“找五月入库的货物”依赖日期含义,“挑最长的木条”依赖实际长度。这三种任务即使引用同一张标签,也不能共用一句“按当地格式显示”的处理规则。先写清操作动词,通常就能找到不能随意转换的部分。
下文《第五仓库》是完全虚构的教学案例,不是真实用户案例、经过测试的效果或产品功能。表格与验收步骤是供作者人工使用的制作方案,不代表 DramaFork 会自动保存语义、换算单位或判定答案。
用一张四层对照单固定仓库谜题
故事中,玩家要从两只木箱里找到五月四日入库的一只,再根据箱宽输入七位门码。仓库公示牌写明:“旧标签日期按日/月/年排列;门码先写月日,各占两位,再写箱宽的整厘米数,宽度占三位。”这些规则必须出现在玩家能读到的文本里。
甲箱日期为“04/05/2031”,宽度为“1250毫米”;乙箱日期为“05/04/2031”,宽度为“1240毫米”。甲箱另有封签“007”,但封签不参与此次运算。它用来提醒作者:看起来像数字的内容,也可能只是编号。
可复用的对照单如下。换一个谜题时,逐行替换内容,保留四层结构。
| 项目 | 字面显示 | 内部含义 | 计算依据 | 答案验收 |
|---|---|---|---|---|
| 甲箱日期 | 04/05/2031 | 2031年5月4日 | 提取月份05、日期04 | 日期段为0504 |
| 乙箱日期 | 05/04/2031 | 2031年4月5日 | 不符合目标入库日 | 不选乙箱 |
| 甲箱宽度 | 1250毫米 | 长度为125厘米 | 毫米数除以10 | 宽度段为125 |
| 甲箱封签 | 007 | 三字符编号 | 本题不使用 | 不得替代日期或宽度 |
| 完整门码 | 七位输入框 | 日期段接宽度段 | 0504与125拼接 | 接受0504125 |
每行还可补上出现位置,例如箱面、检查面板、字幕和提示页。这样修改日期写法时,能找到所有引用,而不只是改掉最显眼的一处。内部含义也不能仅抄一遍原字符串,否则歧义只是换了一个存放位置。
沿着玩家的推理走完一次本地化
假设中文版想把甲箱日期写成“2031年5月4日”,把宽度写成“1.25米”。这两项修改可以保留事实,却还需要证明玩家仍能从显示内容推出相同结果。
第一步,读到目标日期后,玩家选择甲箱。乙箱改写为“2031年4月5日”,仍应被排除。第二步,按公示牌要求将月份与日期各补成两位,得到“0504”。第三步,把1.25米换成125厘米。最后拼接,得到“0504125”。这里应从新版可见线索重新推导,不能先看旧答案,再解释新版为什么也能凑出它。
公示牌也要同步改写。如果箱面已经使用中文年月日,公示牌却仍说“旧标签按日/月/年排列”,玩家会误以为还存在另一层编码。可以改成:“门码按月、日顺序各写两位,再接箱宽的整厘米数。”日期格式说明只在仍展示旧标签时保留。
再检查提示是否泄露了原本的难点。如果故事本来要求玩家通过公示牌辨认日期顺序,那么直接展示“五月四日”虽然保住答案,却移除了一个推理步骤。此时宜保留原标签,并翻译日期顺序说明。答案相同,不等于谜题体验相同。
三种处理方式,以及各自会失败的地方
第一种是保留原样,补充可见说明。适用于字符位置、前导零或日期顺序本身就是线索的情况。封签若要求“抄下三位编号”,就应保留“007”;写成“7”会丢失两个字符。说明应解释读法,不应直接替玩家完成提取。
第二种是改写显示,保留语义与运算。适用于寻找指定日期、比较长度等任务。主例采用这种方式。但如果原规则是“取宽度标签小数点后两位”,把“1.25米”改成“125厘米”就会破坏线索:数量等值,字符结构并不等值。
第三种是重新设计线索与答案。若必须更换单位,又无法保留原来的字符谜面,就把它作为谜题改版处理,重写提示、答案和揭晓说明。不能只更新显示,再把新答案当作旧答案的同义写法。
舍入尤其容易制造假等值。假如另一箱宽1249毫米,显示成保留两位小数的“1.25米”,它就会与1250毫米看起来相同。此时应提高显示精度或保留毫米;若决定接受近似值,必须另写误差规则。这是设计变更,不能藏在排版设置里。
用正反样例验收,而不是只核对最终门码
验收单要同时检查选箱、换算与输入。下面是本例应有的预期,不是已经执行过的测试结果。
| 可见条件或输入 | 预期 | 检查目的 |
|---|---|---|
| 甲箱显示旧日期,公示牌解释日月顺序 | 选择甲箱 | 日期没有读反 |
| 甲箱显示中文日期、1.25米 | 推出0504125 | 转换后推理仍完整 |
| 输入0504125 | 接受 | 标准答案成立 |
| 输入0405125 | 拒绝,提示核对月日顺序 | 不把另一日期当同义表达 |
| 输入05041250 | 拒绝,提示按厘米计算 | 不把毫米直接拼入 |
| 输入504125 | 拒绝,提示日期每项占两位 | 前导零没有被吞掉 |
全角数字是否接受,也要明确。本例可约定先把全角数字逐位对应为半角,再检查七位门码;不能先把整个输入转成整数,否则开头的零会消失。此项约定需要人工核对或另行实现,写进文档并不等于已经生效。
交付时,把对照单、玩家可见规则和验收样例放在一起。让检查者只读新版线索独立推导,再对照预期;若需要作者口头补充日期顺序或单位,说明题面仍缺信息。涉及时区、历法或真实测量误差的谜题还需额外定义,本例不覆盖。这里的完成标准是:读者看得到依据,转换保留必要推理,错误答案也有明确的拒绝理由。


