093 小さな怪盗の三夜: 5段階の日本語Pyxel教材
これは架空のグリッドパズルです。現実の侵入や窃盗の手順は扱いません。

Python 3.12 / Pyxel 2.9.9。ゲームはPython標準ライブラリとPyxelのみ。
Pyxelが入ったPythonで、教材フォルダーから以下を順番に実行します。
python 01_walk.py
python 02_guard_clock.py
python 03_one_night.py
python 04_three_nights.py
python 05_save_undo.py

各Pythonはそれ一つだけ別フォルダーへ移しても実行できます。ファイル名変更、空白・日本語のパスに対応。
Pythonコード保存後はEsc、全キー離す、Enterで終了して再実行。Rはコード再読込ではありません。
操作の各矢印、Z、Space、Enterの間には必ず全キーを一度離します。
05は起動元の作業フォルダーへsave_093.jsonを保存。--save-file "記録 三夜.json"で変更できます。
S/Lは幕間または結果だけ。Sは既存のセーブを更新。診断画像/JSONは既存ファイルを拒否します。

教材: LESSON.md / lessons.json。差分はdiffs/01_to_02.diffから順に正確な隣接差分。
単体検査: python test_stages.py
編集演習: python exercises/01_start.py（02〜05も同様）
診断: python 05_save_undo.py --headless-smoke --scenario success --screenshot new.png --state-json new.json
画像とJSONの親フォルダーは先に用意。出力は起動時の作業フォルダー基準です。
CP932検査: python qa/cp932_check.py
再描画: python qa/runtime_checks.py 新しい検査フォルダー
原作AST比較: python qa/reference_check.py /path/to/original/093_three_night_heist 新しい結果.json
凍結検査: python qa/verify_freeze.py

原作のMIT全文をLICENSEとLICENSE.txtへ無変更で同梱し、各単独Pythonにも全文収録。
Pyxelはassets/PYXEL-LICENSE.txt。Notoはassets/NOTO-LICENSE.txt。この教材UIはNoto字形を使用しません。
Linux headlessの実Pyxel描画を確認。合成入力であり物理キーボード・Windows/macOS GUI・ブラウザーは未確認。
音声なし。人が面白い／理解しやすいという学習効果の検証ではありません。
