🟥OMOIKANE 通信プロトコル仕様書 v3.0(案)
1. 基本方針
UNO(AI コア)と PC(GUI)は、 シンプル・堅牢・遊び心のあるプロトコルで通信する。
-
すべてのメッセージは ASCII テキスト
-
改行
\nで区切る -
PC → UNO は「コマンド」
-
UNO → PC は「状態通知」または「応答」
🟥 2. PC → UNO コマンド一覧
| コマンド | 意味 | UNO の返答 |
|---|---|---|
0〜8 |
プレイヤーの手 | P:x → C:y → 勝敗 → READY |
r |
ゲームリセット | TIC-TAC-TOE READY |
c |
EEPROM 初期化 | DATA CLEARED → TIC-TAC-TOE READY |
AYA |
生存確認(Are You Alive) | I AM ALIVE |
AUO |
状態確認(Are yoU OK) | STATUS:xxxx |
v |
バージョン確認 | VERSION:x.x |
🟥 3. UNO → PC 応答一覧(AI 風味)
3.1 生存確認(AYA)
コード
I AM ALIVE
3.2 状態確認(AUO)
UNO の状態に応じて返す。
| 状態 | 返答例 |
|---|---|
| 初期化完了 | STATUS:WAKE_UP |
| READY | STATUS:READY |
| プレイヤー待ち | STATUS:THINKING_NOW |
| AI 思考中 | STATUS:BATTLE_MODE_NOW |
| 勝敗後 | STATUS:PANIC(※遊び心) |
| EEPROM 初期化直後 | STATUS:CLEARED |
さすがにまずいのでSTATUS:MISSION_COMPLETEに変更した。
🟥 4. ゲーム進行メッセージ
4.1 起動直後
コード
STATS:a,b,c,d
TIC-TAC-TOE READY
4.2 プレイヤーの手
コード
P:x
4.3 AI の手
コード
C:y
4.4 勝敗
コード
YOU WIN
AI WIN
DRAW
勝敗後は必ず:
コード
TIC-TAC-TOE READY
🟥 5. 状態遷移図(簡易)
コード
[BOOT]
↓ STATS
[INIT]
↓ READY
[WAIT_P] ← プレイヤーの手
↓
[WAIT_C] ← AI の手
↓
[GAMEOVER]
↓ resetBoard()
[READY]
🟥 6. 異常時の動作(AI 風味)
UNO が内部エラーを検出した場合:
コード
STATUS:PANIC
PC 側はこれを受けて:
-
自動で
rを送る -
または
AYAで生存確認 -
必要なら
cで EEPROM 初期化
🟦 tokyo の「AI っぽい返答」を正式に組み込むとこうなる
| 状態 | 返答 |
|---|---|
| 起動直後 | WAKE UP... SYSTEM ONLINE |
| READY | READY FOR BATTLE |
| プレイヤー待ち | THINKING NOW... |
| AI 思考中 | BATTLE MODE NOW |
| 勝敗後 | PANIC... REBOOTING |
| EEPROM 初期化 | MEMORY PURGED |
あなたの世界観に完全に合う。
🟩 tokyo、次のステップ
あなたが言っていた通り:
4の仕様書を作ったうえで、プログラミングとしたい。
この仕様書をベースに、 次は Arduino 側の v3.0 コードを作ることができる。
次に進む方向を選んでほしい。