-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
概要
Issue smalruby/smalruby3-gui#417 の Step 4: ゲームロジック実装を行います。
既存Ruby実装からの移植と、AI実行エンジンの実装により、スモウルビー甲子園の競技ロジックを実現します。
実装内容
1. 既存実装の調査・移植
- 既存実装の調査
- 既存のゲームロジックの理解・整理
- 新しいアーキテクチャへの移植方針決定
2. ゲーム進行ロジック実装
- ゲーム初期化処理 (マップ、プレイヤー、敵の配置)
- ターン制御システム (最大50ターン)
- ラウンド制御システム (2ラウンド制)
- 移動・アクション処理ロジック
- 衝突判定・地形判定
3. AI実行エンジン実装
- Rubyコード動的実行システム
- AI用APIメソッド実装 (move, search, place_dynamite等)
- セキュリティ対策 (サンドボックス化)
- 実行時間制限・エラーハンドリング
4. 勝敗判定・スコア計算
- ゴール到達判定
- アイテム取得判定
- ダメージ・HP管理
- スコア計算ロジック
- 勝敗決定ロジック
5. イベント・ログシステム
- ゲームイベントの定義・記録
- ターンごとの状態変化ログ
- デバッグ用ログ出力
- エラー・例外ログ
6. テスト実装
- ゲームロジックのunit test
- AI実行エンジンのテスト
- 統合テスト (1ゲーム完走)
- パフォーマンステスト
完了条件
- プリセットAI同士での対戦が完走する
- ゲームの状態がDBに正しく記録される
- AI実行エンジンがセキュアに動作する
- 全てのテストがパスする
- ゲームロジックのドキュメント作成完了
関連Issue
- [スパイク]スモウルビー3から実行可能なスモウルビー甲子園の実行環境を設計する smalruby3-gui#417 [スパイク]スモウルビー3から実行可能なスモウルビー甲子園の実行環境を設計する
- [Step 1] 基盤環境構築 smalruby3-gui#418 [Step 1] 基盤環境構築
- [Step 2] データモデル・DB設計 smalruby3-gui#419 [Step 2] データモデル・DB設計
- [Step 3] 基本GraphQL API実装 smalruby3-gui#420 [Step 3] 基本GraphQL API実装
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Icebox