リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: 野球スコアブック BallGraph
投手成績サマリーの追加(投球回・奪三振・失点・防御率の自動集計)
## 1. 目的
現在は打者側の成績のみ集計されているが、スコアブックとして投手成績も記録・表示できるようにする。試合後に「今日の投手は何回投げて何三振取ったか」をすぐ確認できるようにし、チーム全体の振り返りをより充実させる。
## 2. 仕様
### 2-1. 投手登録
- 既存の「先発メンバー登録」画面に「先発投手」欄を1名追加(名前入力のみ)。
- 途中交代対応として「投手交代」ボタンをスコア入力画面の右上エリア(現在の「攻守交代」付近)に追加。タップすると新投手名を入力するモーダルが開き、「何アウト・何イニングから登板」を自動記録する。
### 2-2. 投手成績の自動集計ロジック
既存の打席結果データから以下を算出する(新規DBカラム不要、JSで導出):
- **投球回(IP)**: アウトカウントの増分から(3アウト=1回)。端数は「0.1」「0.2」表記。
- **打者数(BF)**: その投手が対戦した打席数。
- **奪三振(K)**: 結果が「三振」の打席数。
- **与四死球(BB)**: 結果が「四球」「死球」の打席数。
- **失点(R)**: その投手の登板中にホームインした得点数(既存の得点入力データから取得)。
- **自責点(ER)**: 今バージョンではR=ERとして簡略化(エラー絡みの自責点計算は除外)。
- **防御率(ERA)**: (ER ÷ IP) × 9、小数点以下2桁表示。
### 2-3. 表示UI
- 既存の「打者成績サマリー」タブの隣に「投手成績」タブを追加する(タブ切り替えUI)。
- 投手成績テーブルのカラム: 投手名 / IP / BF / K / BB / R / ERA
- 複数投手が登板した場合は登板順に1行ずつ表示し、最下行に合計行(IP合計・K合計・R合計)を表示。
- スマホでは横スクロール可能なテーブル(`overflow-x: auto`)とする。
### 2-4. PNG出力への組み込み
- 既存のPNG出力(html2canvas)対象エリアに投手成績テーブルを追加。打者成績の下に「投手成績」見出しと共にレイアウトする。出力ボタンや出力フローは変更しない。
### 2-5. データ保存
- 投手名・登板開始イニング・登板開始アウト数を既存の試合データJSON(localStorageまたはセッションDBの試合レコード)に`pitchers`配列として追記する形で保存。既存の打席データ構造は一切変更しない。
- 試合履歴閲覧時も同データから投手成績を再計算して表示する。
## 3. 既存機能との整合
- 打席入力フロー・スコアボード・塁状況表示・打者成績集計はすべて無変更。
- 投手未登録(名前が空)の場合は投手成績タブを非表示にし、既存動作に影響を与えない。
- html2canvasのキャプチャ対象IDに投手成績ブロックを追加するだけで出力処理本体は変更不要。
- localStorageのデータスキーマは後方互換(`pitchers`キーが存在しない旧データはそのまま読み込み可、投手成績タブのみ非表示)。
現在は打者側の成績のみ集計されているが、スコアブックとして投手成績も記録・表示できるようにする。試合後に「今日の投手は何回投げて何三振取ったか」をすぐ確認できるようにし、チーム全体の振り返りをより充実させる。
## 2. 仕様
### 2-1. 投手登録
- 既存の「先発メンバー登録」画面に「先発投手」欄を1名追加(名前入力のみ)。
- 途中交代対応として「投手交代」ボタンをスコア入力画面の右上エリア(現在の「攻守交代」付近)に追加。タップすると新投手名を入力するモーダルが開き、「何アウト・何イニングから登板」を自動記録する。
### 2-2. 投手成績の自動集計ロジック
既存の打席結果データから以下を算出する(新規DBカラム不要、JSで導出):
- **投球回(IP)**: アウトカウントの増分から(3アウト=1回)。端数は「0.1」「0.2」表記。
- **打者数(BF)**: その投手が対戦した打席数。
- **奪三振(K)**: 結果が「三振」の打席数。
- **与四死球(BB)**: 結果が「四球」「死球」の打席数。
- **失点(R)**: その投手の登板中にホームインした得点数(既存の得点入力データから取得)。
- **自責点(ER)**: 今バージョンではR=ERとして簡略化(エラー絡みの自責点計算は除外)。
- **防御率(ERA)**: (ER ÷ IP) × 9、小数点以下2桁表示。
### 2-3. 表示UI
- 既存の「打者成績サマリー」タブの隣に「投手成績」タブを追加する(タブ切り替えUI)。
- 投手成績テーブルのカラム: 投手名 / IP / BF / K / BB / R / ERA
- 複数投手が登板した場合は登板順に1行ずつ表示し、最下行に合計行(IP合計・K合計・R合計)を表示。
- スマホでは横スクロール可能なテーブル(`overflow-x: auto`)とする。
### 2-4. PNG出力への組み込み
- 既存のPNG出力(html2canvas)対象エリアに投手成績テーブルを追加。打者成績の下に「投手成績」見出しと共にレイアウトする。出力ボタンや出力フローは変更しない。
### 2-5. データ保存
- 投手名・登板開始イニング・登板開始アウト数を既存の試合データJSON(localStorageまたはセッションDBの試合レコード)に`pitchers`配列として追記する形で保存。既存の打席データ構造は一切変更しない。
- 試合履歴閲覧時も同データから投手成績を再計算して表示する。
## 3. 既存機能との整合
- 打席入力フロー・スコアボード・塁状況表示・打者成績集計はすべて無変更。
- 投手未登録(名前が空)の場合は投手成績タブを非表示にし、既存動作に影響を与えない。
- html2canvasのキャプチャ対象IDに投手成績ブロックを追加するだけで出力処理本体は変更不要。
- localStorageのデータスキーマは後方互換(`pitchers`キーが存在しない旧データはそのまま読み込み可、投手成績タブのみ非表示)。
💬 返信 (3)
🛠 開発を開始しました (機能追加 (ballgraph))
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「野球スコアブック BallGraph」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=ballgraph
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/ballgraph/
ご利用ありがとうございます!
ご要望いただいた「野球スコアブック BallGraph」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=ballgraph
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/ballgraph/
ご利用ありがとうございます!
Echo
Iris