084 昨日の自分と配達 / 5段階のPython・Pyxel教材

原作A「長く待つ昨日」の押し続け式を、読みながら作る教材です。
各.pyは他の教材ファイルなしで単独起動します。日本語解説はLESSON.md。
画面はPyxel標準ASCIIと図形、無音。モデルは標準ライブラリだけで読めます。

準備（Python 3.11以上。確認環境は3.12.14 / Pyxel 2.9.9）
  python -m venv .venv
Windows:
  .venv\Scripts\python -m pip install -r requirements.txt
  .venv\Scripts\python -B 01_walk.py
macOS/Linux:
  .venv/bin/python -m pip install -r requirements.txt
  .venv/bin/python -B 01_walk.py
既存環境を使う場合:
  python -m pip install -r requirements.txt
  python -B 05_history.py
インストールに通信が必要です。各.pyのゲーム実行は通信せず、別の素材も不要。
この教材ではWindows/macOS GUI、OS実キー、人間の試遊、音声は未検証。

順番
01_walk.py      盤面番号と移動拒否
02_record.py    意味入力を記録し、24刻へwaitを埋める
03_replay.py    昨日と今日を同じ旧扉状態で動かす
04_delivery.py 今日だけが荷物を扱い、24刻以内に届ける
05_history.py  Undo、再試行、録り直し、直前版、停止
01〜03は意図的に未完成の実験台。隣接差分はdiffs/。

操作
矢印:1歩。02以降Space:待つ、Z:use、Enter:記録確定。
02/03のZは命令に残すだけ。04以降、荷物15/届け先20でZ。
03以降readyでEnter/Space:再生。毎回全操作キーを離して押します。
01〜04はRで全消去。05はR→Enterで同じテープ再試行、Tab→Enterで録り直し、
Vで旧版へ交換して再生、XでUndo、Pで停止。確認中X/Escapeは取消。
Escapeはその他の場面では即終了。保存は起動中のみで終了すると消えます。

Aの入力例（各矢印やZの間でキーを離す）
記録: 上・上・右・Enter。再生開始: Enter。
今日: 右・Z・右・右・右・右・右・Z。8刻で配達。
単に20へ到着しても配達ではなく最後のZが必要です。

検証
  python -B -S -m unittest -v test_stages.py
  python -B tools/render_qa.py
  python -B tools/check_freeze.py
任意の原作再照合:
  python -B tools/verify_original.py "/元ソース/084_yesterday_delivery"
通常テストは同梱fixtureだけを読み、原作やPyxelを要求しません。
描画QAにはPyxelが必要。再実行でqaの証拠が更新されるのでfreeze差異は正常です。
詳しい成功件数・画像・制約はQA.txtとqa/内。

権利
全5本へ原作MIT全文をコメントとして埋め込み、LICENSEも原文のまま同梱。
参照されるNoto/Pyxelの権利文書はassets/。Noto字形データは含みません。
