052 拾ったルール
強い移動ほど、止まりたい場所に止まれない。

起動
Windows: Python 3.10以上を用意してsetup.bat。次からplay.bat。
macOS/Linux: bash setup.sh、bash play.sh。
実行時はPyxel 2.9.9＋標準ライブラリだけ。このフォルダ単独で動きます。
launch.shは制作クラウド専用です。Windows実機は未確認。

目的と操作
印1/2を両方集めて出口Gへ着地すれば成功。時間制限・死亡はありません。
SPACE/Z 開始。矢印 一移動命令。押す前に右の四方向の着地予告を確認。
Fは盤上に線で表示する予告方向を切り替えます。モデル状態は進みません。
右の「経路」は通過する全座標。印は最後の着地だけで拾います。
S/Pに着地してTabでカード編集、左右でカードを選びZで着脱。Tabで閉じる。
装備は最大二枚、外したカードは袋へ。着脱は移動回数0ですが一決定です。
X 移動または着脱一回を戻す。R 同じ面の最初へ。P 停止/説明。M 表紙。
1～3 A/B/C。F5 現在の再生記録を保存。F12 画像保存。
結果、R、面変更前も記録を保存。media/native/replay_A-01.json等は面の最新記録。
表示の移動数は9999+で省略し、状態・記録は実際の値を保持します。
開始/停止/編集/移動演出/結果でもキーの解放を追跡します。
状態を切り替えたら一度キーを離してください。同時移動入力は拒否します。

三枚のルール
バネ: 一歩が二歩へ。中間の穴・水は越せるが壁は越せません。
着地が穴なら不可、水なら帆が必要。隣へ止まれないことが欠点です。
帆ぶくろ: 水に着地できます。ただし表示された向かい風方向への入力は禁止。
水上で帆を外すことはできません。そもそも着脱台以外では編集できません。
すべり靴: 今の歩幅で合法な着地を繰り返し、最後の地点まで直進します。
単独なら一歩、バネと一緒なら二歩ずつ。途中の台/印では止まりません。
入力制限→歩幅→壁/着地点→直進反復→最後の着地、の順で処理します。
完全に動けない入力は理由を表示し、移動数・論理tickは増えません。

有限bankと候補からの修正
A/B/C各一構成、計三つの手作り盤です。任意整数seedは受け付けません。
A-01/B-01/C-01@052-bank-1に確定図・風・カード定義を保存しています。
A候補ではバネの偶奇と台位置が合わず、見せたい穴越えが成立しませんでした。
上段を #.SoP*# に変更。開始(2,1)からバネで穴(3,1)を越えて台(4,1)へ。
その台で外せば隣の印に止まれます。下から回る無カードの安全案も残しました。
C候補の出口(5,2)はすべりの停止点でなく、通過回収版でも完走不可でした。
印を(2,1)、出口を(5,3)へ移し、同じ確定図で二つの回収規則を比較します。
原案の成立を偽っていません。最終図はmodel.pyとsolver_results.jsonが正本。

開発時の全状態探索
状態キーは位置/装備7通り/印bit。移動数・経路履歴は遷移に影響しません。
A158状態418遷移、B193状態486遷移、C142状態324遷移を全列挙。
無カード・一枚三種・二枚組三種の固定装備と、台で着替える案を比較。
A: 無カード11移動。すべり5移動＋着脱1。実際の穴越え解も別途保存。
B: 無カード10移動。帆固定8＋着脱1。バネから帆へ替えると6＋着脱3。
C: 無カード10移動。隣の印を先に取ってすべりを履くと6＋着脱1。
   台で帆も足すと5＋着脱2。どちらも全決定数は7。
最初から二枚固定する案は三面とも完走不可。二枚が常に強いわけではありません。
失敗方策の到達印数・取りこぼし遷移数、成功方策の台再訪数も記録。
solution_logs.jsonに各面二つ以上の完走列。探索は起動時/描画時に実行しません。

一変更比較・再生・限界
Cの回収だけを「最後の着地」「通過でも拾う」に変更（--through）。
比較版はバネの空中通過も回収。台と出口は両版とも最後の着地だけです。
固定すべりは通常版で未達、比較版では4移動で完走。共通無カード経路は両版成功。
盤面・風・カード・移動は同一。比較は制作史上の旧版ではありません。
記録には確定盤/全カード、ルール版、bank版、環境互換条件メタデータ、
SHA256、意味入力と論理tick、終了状態とhash。python model.py 記録.jsonで検証。
環境欄はランタイム説明であり、OS同等性の保証ではありません。
別プロセス・描画追加・停止追加でもモデル結果一致を自動確認しています。
media/automaticは実Pyxelの自動入力描画。約25秒・無音の機能映像です。
media/nativeはエージェントのクラウドLinux実入力。人による試遊とは区別します。
人の面白さ、Windows実機、音の実聴は未確認。意図的に無音です。

ソースMIT全文: LICENSE.txt。日本語bitmapはNoto Sans CJK由来。
SIL OFL 1.1全文: assets/NOTO-LICENSE.txt。外部フォント不要。
開発用のフォント再構築/動画変換だけPillow/ffmpegを使用します。
