054 地下商人の帰還
いちばん安い荷物が、いちばん高い品を作っている。

遊びかた
出発箱から最大四品を選び、市場1→休憩所→市場2→帰還へ進みます。
晶石C、きのこM、鉄鉱Oを売って所持金を作ります。通常価格と追加価格は最初から全公開。
灯Lは隣のCを光らせ、冷石Kは隣のMを冷やし、磁石Tは隣のOを磁化します。
左右一枠だけで、道具が隣にある間だけ有効。重複加算や効果の連鎖はありません。
道具自身は0金。先に手放すと商品の見積りが下がるため、商品から売る案も選べます。
売った枠は空白のままです。市場では移動できず、購入は指定した空枠へ入ります。
並べ替えられる休憩所は一か所。そこでの交換回数に制限はありません。
時間制限、盗賊、破損はありません。全市場を通れば無事帰還。目標金は追加の目安です。
残した荷物は売却されずに持ち帰ります。最後の市場で売るか自分で選んでください。

起動
Python 3.10以上。Windows: 初回 setup.bat、以後 play.bat。
macOS/Linux: bash setup.sh、bash play.sh。
Pyxel 2.9.9＋標準ライブラリだけで実行。同梱の日本語字形を使い、ネット接続は初回インストールのみ。
フォルダーを丸ごとコピー可能。play/setupは引用つき相対パス、batはASCIIです。
tools/launch_native_qa.shは開発機専用の起動補助で、配布先では使いません。
Windows/macOS実機は未確認。Linux確認やコードページ模擬試験と区別します。

操作
左右: 荷台の枠。上下: 右下の操作欄。Z: 選んだ操作を確定。
出発箱: 品を選んで積む。入っていた品は箱へ戻る。空にする操作もあり。
箱の品を選ぶ欄を上下に回すと「市場1へ出発」があります。
市場: 売る（道具は手放す）/有限の売り物を買う/次へ進む。
休憩所: Zで交換元を指定、左右で交換先、Zで交換。Xは交換元指定だけ取り消す。
X: 最後の売買・配置・移動を一つ戻す。R: 同じ箱と相場からやり直す。
P: 停止と説明。1/2/3: 三つの相場。B: 道具範囲を全枠にする一規則比較。
E: 盤面と正確な意味入力をsavesへ保存。M: 表紙。Q/ESC: 終了。
再開・相場切替・表紙・比較前にも自動保存。Qはネイティブ操作ログも保存。
状態切替後はキーを一度離します。停止中もキー解放を取りこぼさない設計です。

画面
各荷物に品名・ID・性質・両市場の現在売値を表示。
道具へカーソルを合わせ「手放す」を選ぶと、失う加算を隣の商品上に「6 > 2」のように表示。
下の相場欄は商品別の通常価格+性質の追加。予告は所持金と次の滞在先を表示。
市場の有限在庫は操作欄の「買う」で品ID・買値・売切を確認できます。

三つの固定bank
A-01-g1: C2/M2/L1/K1、目標12。灯と冷石、道具なしの商いを比較。
B-01-g1: O2/C2/T1/L1、目標11。磁石を残す案と市場1での仕入れ。
C-01-g1: C1/M2/O1/L1/K1/T1、目標10。前市場の灯と後市場の冷石を使い分け。
設計候補の価格・在庫・目標は変更なし。有限3組だけ検証し、任意seed生成や無限の可解性を主張しません。
Cの説明用積載は C1-L1-M1-K1 と確定。休憩所で二枠を交換する意味を実測しました。

ファイル・検査
model.pyは不変Stateとstep、全価格/箱/在庫/ルール版を含む正規化JSONのSHA-256を実装。
app.pyはUI。experiments.pyは開発専用探索で、ゲーム中には探索しません。
python -m unittest -v test_model test_ui
python test_ui.py  （media/native/automatic_capture証拠不変も検査）
python model.py saves/対象.json  （別プロセスで盤面・全入力tick・中間/終了hash検証）
python experiments.py  （代表積載と方策の有限探索）
import experiments 後の whole_bank() は全初期積載を列挙。各族上限300,000状態。
evidence/automated/controlled_branches.jsonは同じ箱と相場で積替・売却順・一規則を比較。
evidence/nativeは実ウィンドウ入力、evidence/automatic_captureは自動操作の実描画、mediaはその映像と選択PNG。
evidence/final_sourceは収録ソース、development_v1はカーソル表示修正前の映像とソースを隔離。

限界
実装・機能確認と、面白さの人による確認は別です。人の体験検証は未実施。
動画は実際のPyxel描画ですが自動入力・無音。人の操作や評価、Windows実機、音の実聴を主張しません。
NOTE/Xは投稿前の下書きです。
コードMIT、同梱字形はNoto由来SIL OFL 1.1。各ライセンス全文を同梱。
