043 蜜蜂の引っ越し — 五段階の日本語教材

実行環境: Python 3.11以降、Pyxel 2.9.9。実測はLinux / Python 3.12.14 / Pyxel 2.9.9。
初回だけ、使用するPython環境へ python -m pip install -r requirements.txt
本制作検証ではインストールを行わず、既存環境を使用しました。

1. このフォルダで python 01_delivery.py
2. Zで蜂を送り、Spaceを一回ずつ押して往復を観察
3. 終了はEsc。次に02、03、04、05を順に実行
各0*.pyは単独で動きます。別名にして一ファイルだけ取り出しても、画像/音/フォント/隣のmodel.pyは不要です。ファイルをUTF-8で保存してください。

コードを変えたら「保存→Escで終了→同じファイルを再実行」です。
Rは既に読み込んだコードで状態を初期化します。ファイルを再読込する機能ではありません。
pythonとpython3/py -3の呼び名は環境によって異なります。Pyxelを入れたPythonで起動してください。

操作
01: Z 出発、Space 一刻、R 初期化、Esc 終了。
02以降: Tab 蜂選択、左右 花選択、Z 予約、C 出発前取消。
03以降: 1/2/3 庭切替（その庭を初期化）。
04以降: Tab三番目はHIVE。左右で巣台0/3/6、Zで移転。
05: X 全状態Undo。NEXT Zは選択中の操作の予告。
各キーは一回押して離してから次へ。長押しや複数キー同時では操作を連続実行しません。

STOCK=花に残る蜜、BOOK=そのうち予約済み、LOAD=蜂の荷、HIVE NECTAR=巣に届いた蜜。
SLEEP=休眠、WAIT=開花待ち、OPEN=開花、SPENT=空。IDLE=巣で待機、RESERVED=予約済み、OUT=往路、BACK=帰路。
BOOKを蜜の合計へ足さないこと。POTENTIALは休眠在庫も含む総量上限で、達成できる保証ではありません。
時間制限はなく、移転せずに通う選択も正当です。

LESSON.mdに各段階の仕組み、手順、期待値、よくあるミス、変更課題を記載。
lessons.json / lesson_meta.jsonは同じ内容を機械可読化。diffs/は隣り合う完成ファイルの正確なunified diffです。大きな差分を一度に書かず、本文の焦点を先に追ってください。
exercises/04_cost.pyは画面を起動せず移転費の境界を再現する補助例（04本体が必要）。

検証の再現
python -B test_stages.py
python -B qa/cp932_check.py
python -B qa/cp932_source_check.py 新規CP932出力フォルダ
python -B qa/exercise_checks.py
python -B qa/verify_freeze.py
python -B qa/runtime_checks.py 新規出力フォルダ
python -B qa/relative_output_check.py 別の新規出力フォルダ
python -B qa/render_boundaries.py さらに別の新規出力フォルダ
python -B qa/reference_check.py 原作043フォルダ 新規照合出力フォルダ
CP932検査は既定テキスト読み取りをCP932へ切り替えて実際のCP932プローブを読みます。別のcp932_source_checkは本体5ファイルをCP932バイトへ変換し、encoding cookie付きで実Pyxel起動を検証します。配布本体はUTF-8のままです。
原作パスがない場合も通常テストは同梱139ケースで実行可能。reference_checkだけ原作model.pyが必要です。
Linuxの無音ヘッドレス検査はSDL_AUDIODRIVER=dummyを使用。通常のプレイにヘッドレス指定は不要です。

python 05_undo_forecast.py --headless-smoke --demo-checkpoint --screenshot 新規.png
自動の短い入力列を実Pyxelで描画して終了します。画面保存先は起動時のcwdから解決します。.pngのみ、既存親フォルダ、新規ファイルが必要。既存ファイルへ上書きしません。

著作権
LICENSE / LICENSE.txtは原作MIT全文（Noto字形の例外を含む）。各教材.pyにも同じ全文をコメントとして含めました。
assets/NOTO-LICENSE.txtは原作由来の通知を保存。教材画面ではNoto字形データを使用/同梱せず、Pyxel組込ASCIIのみ。assets/PYXEL-LICENSE.txtも保存しています。

検証の範囲
qa/REVIEW.md、qa/final-results.json参照。自動入力とLinux実描画です。物理キーボード、ブラウザ、Windows/macOS実機、可聴出力、人間の初見理解や楽しさは未検証。本作は意図的に無音です。
原作・旧教材・SEOパッケージは変更せず、この教材は公開/アップロードしていません。
