031 静かな足音 / Pyxel 2.9.9
実装・機能検証済み。人による面白さの確認は未実施。

夜の書庫で、黄色い返却帳を取り、Eの出口へ戻ります。
見張りの現在視野は赤茶の床、耳が捉えた道は黄色い点、注目点は目／耳の輪。
見られただけでは失敗せず、同じマスで接触すると捕まります。

起動
Windows: Python 3をインストール後、setup.batを実行。以後play.bat。
Linux/macOS: bash setup.sh、bash play.sh。Windows/macOSの実GUIは未検証。
本フォルダだけで動き、他のゲームは不要。開発用launch.shのみ既存pilot環境を予備利用します。

操作
タイトル左右で3書庫を選択、SPACE開始。
矢印1回で1歩。SPACEで無音の1ターン待機。Zで足元を踏み鳴らす。
Xで一手戻す。敵の位置、向き、記憶、帳面所持も全部戻ります。
Rで同じ書庫をやり直す、Pで停止と説明、Mで選択、成功後Nで次、ESC終了。
移動も待機も押下1回だけ。押しっぱなしでは繰り返しません。
開始／次面／停止／再開などの後は、操作キーを全て離すまで新しい操作を受理しません。

ルール
布は歩行音0、板3、金属6。Zはその床の値+2。音は棚を通れず、床に沿う最短距離で届きます。
見張りは勤務先の地図を知っています。知っている人物位置は、視認できた現在位置か、聞こえた音の位置だけです。
1. 人の移動と音を確定。見張りの旧マスへ入れば捕縛。
2. 旧位置と向きで1回だけ観測。目で見た位置 > 今回の音 > 保存中の注目点 > 巡回先。
3. 上下左右の順で同距離経路を選び1歩。接触なら捕縛、帳面を出口へ運べば成功。
注目点到着後、追加の観測がなければ2ターン右回りに見回し、最後に完了した巡回点の次へ戻ります。
移動後に描かれる視野は次の観測予告です。青い次歩印は新観測がない場合の記憶に基づく予告です。
音を出すことは成功条件ではありません。巡回を待つ静かな攻略も有効です。

再現と比較
python -m unittest discover -v
python solver.py / python experiment.py
python app.py --demo --headless は自動入力の実Pyxel描画。
python app.py --quiet-metal は金属音だけ3の比較用反実仮想。制作履歴上の旧版ではありません。
media/quiet_footsteps_automatic_silent.mp4は無音・自動入力、749枚を各1回30fpsで再生。
成功入力、状態hash、比較、試験、実GUIの範囲はplans.py、solver_results.json、QA.txtへ。
コード・図形はMIT、Noto由来の日本語ビットマップはassets/NOTO-LICENSE.txt（SIL OFL）。
