Skip to content

[Step 4] ゲームロジック実装 #25

@takaokouji

Description

@takaokouji

概要

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Icebox

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions