View on GitHub

fighting-game-button-challenge

fighting-game-button-challenge

Last updated: 2026-03-17

Development Status

現在のIssues

次の一手候補

  1. 全ミッション完了時のラップタイム計測と表示 Issue #10
    • 最初の小さな一歩: 全ミッション開始時刻を記録する all_mission_start_time をstateに追加し、on_all_mission_start 関数で初期化と記録を行う。
    • Agent実行プロンプト:
      対象ファイル: `src/main.py`, `src/missions.py`, `src/utils.py` (state管理に関連するファイル)
      
      実行内容:
      1. `src/main.py` の `main` 関数内で、`state` オブジェクト(または同等の状態管理変数)に `all_mission_start_time` という新規メンバを追加し、初期値として `time.time()` を設定してください。
      2. `src/main.py` の `main_loop` 関数内で、全てのミッションがリセットされ、新たな「1周」が始まるタイミング(例えば `initialize_mission_sets` が呼び出された直後や、既存のミッション開始ロジック)で、新規関数 `on_all_mission_start` を呼び出すように変更してください。
      3. `src/missions.py` (または適切な場所) に `on_all_mission_start` 関数を新規作成し、その関数内で `state.all_mission_start_time` に現在の時刻を記録する処理を実装してください。この関数は引数として `state` を受け取るようにしてください。
      4. `src/missions.py` から `src/main.py` に `on_all_mission_start` をインポートするようにしてください。
      
      確認事項:
      - `state` オブジェクトの構造と、新しいメンバ `all_mission_start_time` の追加が既存のロジックに影響を与えないことを確認してください。
      - `on_all_mission_start` を呼び出すタイミングが、全てのミッションがリセットされた直後であり、新たな1周が開始される時点であることを確認してください。
      - 時刻計測には `time.time()` を使用し、ミリ秒単位ではなく秒単位で問題ないことを確認してください。
      
      期待する出力:
      - `src/main.py` および `src/missions.py` の変更点を示すコードブロック。
      - `all_mission_start_time` が適切に初期化され、新しい1周の開始時に記録されることを確認する説明。
      
  2. 全ミッション完了時のラップタイム計算とDEBUG表示 Issue #10
    • 最初の小さな一歩: 全ミッション成功時(on_all_mission_green 相当のロジック内)に、all_mission_start_time と現在時刻の差分からラップタイムを計算し、コンソールにDEBUG表示する。
    • Agent実行プロンプト:
      対象ファイル: `src/main.py`, `src/missions.py`, `src/utils.py`
      
      実行内容:
      1. `src/missions.py` の `check_and_update_mission` 関数内で、全てのミッションが成功したと判定されるタイミング(例: `on_all_mission_green` に相当する部分)を見つけてください。
      2. そのタイミングで、`state.all_mission_start_time` と現在の時刻(`time.time()`)の差分を計算し、`lap_time_seconds` として保存してください。
      3. 計算された `lap_time_seconds` を、`debug_print` 関数を使ってコンソールに表示してください。メッセージは「Lap Time: X.XX seconds」のようにしてください。
      4. 必要であれば、`src/missions.py` に `time` モジュールをインポートしてください。
      
      確認事項:
      - `on_all_mission_green` に相当するロジックが、全てのミッションが成功し、かつ新しい1周が始まる直前であることを確認してください。
      - `state.all_mission_start_time` が正しく設定されていることを前提としてください。
      - `debug_print` が有効になっている場合にのみ表示されることを確認してください。
      
      期待する出力:
      - `src/missions.py` の変更点を示すコードブロック。
      - ラップタイムが正確に計算され、コンソールに出力されることを確認する説明。
      
  3. コンボカウントの計算とデバッグ表示 Issue #15
    • 最初の小さな一歩: ミッション成功時にコンボカウントを増やし、失敗時にリセットするロジックを実装し、成功時に現在のコンボ数をコンソールにデバッグ表示する。
    • Agent実行プロンプト:
      対象ファイル: `src/main.py`, `src/missions.py`, `src/utils.py`
      
      実行内容:
      1. `src/missions.py` 内の `check_and_update_mission` 関数(または関連するミッション判定ロジック)で、`state` オブジェクトに `current_combo_count` という新しいメンバを追加し、初期値を `0` としてください。
      2. ミッションが成功 (`on_green` 相当) した際に、`state.current_combo_count` をインクリメントする処理を実装してください。
      3. ミッションが失敗 (`on_red` 相当) した際に、`state.current_combo_count` を `0` にリセットする処理を実装してください。
      4. ミッション成功時に、`debug_print` 関数を使って現在の `state.current_combo_count` をコンソールに表示してください。メッセージは「Combo: X」のようにしてください。
      5. `src/main.py` の `main` 関数または `main_loop` 関数で、ゲーム開始時またはリセット時に `state.current_combo_count` が適切に初期化されることを確認してください。
      
      確認事項:
      - `current_combo_count` の追加が既存のロジックに影響を与えないことを確認してください。
      - 成功判定と失敗判定のロジックが明確であり、それぞれでコンボカウントが正確に更新されることを確認してください。
      - `debug_print` が有効になっている場合にのみ表示されることを確認してください。
      
      期待する出力:
      - `src/missions.py` および `src/main.py` の変更点を示すコードブロック。
      - コンボカウントが正確に計算され、コンソールに出力されることを確認する説明。
      

Generated at: 2026-03-17 07:09:34 JST