数字・日付・単位が手がかりになるとき、表記の変更で答えを変えないためには?
プレイヤーが使うのは文字そのものか、日付が指す日か、それとも測定値か。まずそこを確かめてから、表記を変えられるか判断します。元の表示、内部的な意味、計算の根拠、解答の検証例を4層の対照表で結び、自然な訳文になったのにパズルの答えが変わる事態を防ぎます。

手がかりが何によって成立するかを確かめてから表記を変える
数字、日付、単位がパズルに組み込まれたら、通常の説明文と同じように置き換えることはできません。まず、プレイヤーが行うのは文字の転記なのか、日付の特定なのか、数量の比較や計算なのかを明示します。そのうえで、表示される文字列、内部的な意味、計算の根拠、解答の検証を分けて記録します。表現は変えられても、解くために必要な関係は保たなければなりません。
たとえば、「ラベルの末尾2文字を取る」は印刷された文字に、「5月に入庫した品物を探す」は日付の意味に、「最も長い木の棒を選ぶ」は実際の長さに依存します。同じラベルを参照していても、この3つに「現地の形式で表示する」という一律のルールは使えません。操作を表す動詞を先に明確にすると、通常は自由に変換できない部分が見えてきます。
以下の『第5倉庫』は、説明のために作った完全な架空の事例です。実在するユーザーの事例でも、テストで確認された効果でも、製品機能でもありません。表と検証手順は作者が手作業で使うための制作案であり、DramaForkが意味の保存、単位換算、解答判定を自動で行うことを示すものではありません。
4層の対照表で倉庫のパズルを明確にする
物語では、プレイヤーは2つの木箱から5月4日に入庫した箱を見つけ、その幅をもとに7桁のドアコードを入力します。倉庫の掲示板には「古いラベルの日付は日/月/年の順。ドアコードは月、日の順に各2桁、その後に箱の幅をセンチメートル単位の整数で3桁書く」とあります。これらのルールは、プレイヤーが読める文章の中に示す必要があります。
箱Aの日付は「04/05/2031」、幅は「1250ミリメートル」です。箱Bの日付は「05/04/2031」、幅は「1240ミリメートル」です。箱Aには「007」と書かれた封印ラベルもありますが、今回の計算には使いません。数字に見えるものでも、単なる識別番号かもしれないと作者に注意を促すための要素です。
再利用できる対照表を以下に示します。別のパズルに使う際は、4層構造を保ったまま各行の内容を置き換えてください。
| 項目 | 表示される文字列 | 内部的な意味 | 計算の根拠 | 解答の検証 |
|---|---|---|---|---|
| 箱Aの日付 | 04/05/2031 | 2031年5月4日 | 月の05と日の04を取り出す | 日付部分は0504 |
| 箱Bの日付 | 05/04/2031 | 2031年4月5日 | 指定された入庫日と一致しない | 箱Bを選ばない |
| 箱Aの幅 | 1250ミリメートル | 長さは125センチメートル | ミリメートルの数値を10で割る | 幅の部分は125 |
| 箱Aの封印ラベル | 007 | 3文字の識別番号 | この問題では使わない | 日付や幅の代わりに使わない |
| ドアコード全体 | 7桁の入力欄 | 日付部分の後に幅の部分を続ける | 0504と125を連結する | 0504125を受け付ける |
各行には、箱の表面、調査パネル、字幕、ヒントページなど、表示場所も追記できます。そうすれば、日付表記を変えるときに、目立つ1か所だけでなく参照箇所すべてを確認できます。また、内部的な意味の欄に元の文字列をそのまま写すだけではいけません。それでは曖昧さの置き場所が変わるだけです。
プレイヤーの推論をたどってローカライズを確認する
中国語版で、箱Aの日付を「2031年5月4日」、幅を「1.25メートル」と表記したいとします。どちらも事実は保てますが、表示された情報からプレイヤーが同じ結果を導けることも確認する必要があります。
まず、プレイヤーは指定の日付を読んで箱Aを選びます。箱Bは「2031年4月5日」に書き換えても、引き続き除外されるはずです。次に、掲示板の指示に従って月と日をそれぞれ2桁にそろえ、「0504」を得ます。続いて1.25メートルを125センチメートルに換算し、最後に連結して「0504125」にします。ここでは、新版でプレイヤーに提示される手がかりから改めて答えを導く必要があります。先に旧版の答えを見て、新版でもその答えに合わせられる理由を後付けしてはいけません。
掲示板も同時に書き換えます。箱の日付がすでに中国語の年月日表記なのに、掲示板に「古いラベルは日/月/年の順」と残っていると、プレイヤーはさらに別の暗号があると思うかもしれません。「ドアコードは月、日の順に各2桁書き、その後に箱の幅をセンチメートル単位の整数で続ける」と変更できます。日付形式の説明を残すのは、古いラベルを引き続き表示する場合だけです。
さらに、ヒントが元の難所を明かしていないか確認します。もともと掲示板を使って日付の順序を読み解く設計なら、「5月4日」と直接表示すると、答えは保てても推論の段階が1つ失われます。その場合は元のラベルを残し、日付の順序を説明する文章を翻訳するのが適切です。答えが同じでも、パズルの体験が同じとは限りません。
3つの対応方法と、それぞれが失敗する場面
1つ目は、元の表記を残し、プレイヤーが読める説明を添える方法です。文字の位置、先頭のゼロ、日付の順序自体が手がかりになっている場合に向いています。封印ラベルから「3桁の識別番号を書き写す」なら、「007」を残す必要があります。「7」にすると2文字が失われます。説明は読み方を伝えるものであり、プレイヤーに代わって文字を取り出すものであってはいけません。
2つ目は、表示を変えつつ、意味と演算を保つ方法です。指定の日付を探す、長さを比べるといった課題に適しています。本文の中心となる事例ではこの方法を使っています。ただし、元のルールが「幅のラベルの小数点以下2桁を取る」なら、「1.25メートル」を「125センチメートル」にすると手がかりが壊れます。数量が等しくても、文字の構造は等しくないからです。
3つ目は、手がかりと答えを設計し直す方法です。単位を変える必要があり、元の文字を使った仕掛けを保てないなら、パズルの改訂として扱い、ヒント、答え、種明かしの説明を書き直します。表示だけを更新し、新しい答えを古い答えの別表記として扱ってはいけません。
四捨五入は、異なる値を同じに見せてしまいやすい処理です。別の箱の幅が1249ミリメートルだった場合、小数点以下2桁の「1.25メートル」と表示すると、1250ミリメートルと同じに見えてしまいます。この場合は表示の精度を上げるか、ミリメートル表記を残します。近似値を認めるなら、別途、許容誤差のルールを定める必要があります。これは設計変更であり、組版設定の中に隠してはいけません。
最終的なドアコードだけでなく、正解例と誤答例で検証する
検証表では、箱の選択、換算、入力をすべて確認します。以下はこの事例で期待される結果であり、実施済みのテスト結果ではありません。
| プレイヤーに見える条件または入力 | 期待される結果 | 確認の目的 |
|---|---|---|
| 箱Aは旧形式の日付を表示し、掲示板で日月の順序を説明する | 箱Aを選ぶ | 日付を逆に読んでいない |
| 箱Aは中国語の日付と1.25メートルを表示する | 0504125を導く | 変換後も必要な推論がすべて残っている |
| 0504125を入力する | 受け付ける | 標準の答えが成立する |
| 0405125を入力する | 拒否し、月日の順序の確認を促す | 別の日付を同じ意味の表現として扱わない |
| 05041250を入力する | 拒否し、センチメートルで計算するよう促す | ミリメートルの数値をそのまま連結しない |
| 504125を入力する | 拒否し、月と日はそれぞれ2桁と伝える | 先頭のゼロが失われていない |
全角数字を受け付けるかどうかも明確にします。この事例では、まず全角数字を1文字ずつ対応する半角数字に直し、その後で7桁のドアコードを確認する、と定められます。入力全体を先に整数へ変換すると、先頭のゼロが消えるため避けなければなりません。この取り決めには手作業での確認、または別途の実装が必要です。文書に書くだけで有効になるわけではありません。
引き渡し時には、対照表、プレイヤーに見えるルール、検証例をまとめて渡します。確認担当者には、新版の手がかりだけを読んで独力で答えを導き、その後で期待される結果と照合してもらいます。作者が日付の順序や単位を口頭で補う必要があるなら、問題文にはまだ情報が足りません。タイムゾーン、暦、実際の測定誤差が関わるパズルには追加の定義が必要で、この事例では扱いません。ここでの完成基準は、読み手が根拠を確認できること、変換後も必要な推論が保たれること、誤答を拒否する理由が明確であることです。


