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
    No fields configured for issues without a type.

    Projects

    Status

    Icebox

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions