リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: 合体ドロップ
「もう一度プレイ」時に今日/今週/今月/歴代トップスコア表示が更新されない
1. 不具合の内容:
pages/play.php では、$today_top_scores・$weekly_top_scores・$monthly_top_scores・$alltime_top_scores をページ読み込み時に一度だけDBから取得し、JSに埋め込んでいる(mode-badge周辺やプレイ中の目標スコア表示に使用)。v1.115.0で追加された「🔁 もう一度プレイ」はページを再読み込みせずに新しいプレイセッションを開始する仕様のため、この埋め込みトップスコアデータはリロードするまで更新されない。
2. 根拠・発生しそうな条件:
pages/play.php内で $today_top_scores/$weekly_top_scores/$monthly_top_scores/$alltime_top_scores はPHP実行時(=ページロード時)にDBから1回だけ計算され、render_layout()に渡されてJSへ埋め込まれる。ユーザーが1プレイ目で自己ベスト・その日/週/月/歴代のトップを更新するスコアを送信し、そのまま「もう一度プレイ」で2プレイ目以降を続けた場合、画面には送信直後のDB状態を反映しない古いトップスコアが表示され続ける。特に1位を更新した直後のプレイヤーには、自分が既に抜いたはずの古い1位スコアが目標として表示され続け、混乱を招く。
3. 期待動作:
「もう一度プレイ」でセッションを開始する際、直近のスコア送信結果を反映した最新の今日/今週/今月/歴代トップスコアが表示に反映される。
4. 修正方針:
- rank_check.php と同様の軽量GET専用APIとして、モードを指定して today_top/weekly_top/monthly_top/alltime_top のみを返す小さなエンドポイント(例: top_scores.php、または rank_check.php に top_only=1 的なオプションを追加)を用意する。
- クライアントJSの「もう一度プレイ」ボタン押下処理内で、スコア送信完了後(または再プレイ開始時)に該当APIをfetchし、mode-badge周辺・playing-best-disp等のトップスコア表示用データを更新してから盤面をリセットする。
- 初回ロード時のPHP埋め込みデータの取得ロジック・変数名・既存の表示レイアウトは変更せず、再プレイ時のみJSから追加取得する形にして後方互換を保つ。
- 通信失敗時は既存の埋め込みデータ(古い値)にフォールバックし、エラーで再プレイが止まらないようにする。
pages/play.php では、$today_top_scores・$weekly_top_scores・$monthly_top_scores・$alltime_top_scores をページ読み込み時に一度だけDBから取得し、JSに埋め込んでいる(mode-badge周辺やプレイ中の目標スコア表示に使用)。v1.115.0で追加された「🔁 もう一度プレイ」はページを再読み込みせずに新しいプレイセッションを開始する仕様のため、この埋め込みトップスコアデータはリロードするまで更新されない。
2. 根拠・発生しそうな条件:
pages/play.php内で $today_top_scores/$weekly_top_scores/$monthly_top_scores/$alltime_top_scores はPHP実行時(=ページロード時)にDBから1回だけ計算され、render_layout()に渡されてJSへ埋め込まれる。ユーザーが1プレイ目で自己ベスト・その日/週/月/歴代のトップを更新するスコアを送信し、そのまま「もう一度プレイ」で2プレイ目以降を続けた場合、画面には送信直後のDB状態を反映しない古いトップスコアが表示され続ける。特に1位を更新した直後のプレイヤーには、自分が既に抜いたはずの古い1位スコアが目標として表示され続け、混乱を招く。
3. 期待動作:
「もう一度プレイ」でセッションを開始する際、直近のスコア送信結果を反映した最新の今日/今週/今月/歴代トップスコアが表示に反映される。
4. 修正方針:
- rank_check.php と同様の軽量GET専用APIとして、モードを指定して today_top/weekly_top/monthly_top/alltime_top のみを返す小さなエンドポイント(例: top_scores.php、または rank_check.php に top_only=1 的なオプションを追加)を用意する。
- クライアントJSの「もう一度プレイ」ボタン押下処理内で、スコア送信完了後(または再プレイ開始時)に該当APIをfetchし、mode-badge周辺・playing-best-disp等のトップスコア表示用データを更新してから盤面をリセットする。
- 初回ロード時のPHP埋め込みデータの取得ロジック・変数名・既存の表示レイアウトは変更せず、再プレイ時のみJSから追加取得する形にして後方互換を保つ。
- 通信失敗時は既存の埋め込みデータ(古い値)にフォールバックし、エラーで再プレイが止まらないようにする。
💬 返信 (3)
🛠 開発を開始しました (機能追加 (vegetable-drop))
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「合体ドロップ」の改善を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=vegetable-drop
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/vegetable-drop/
ご利用ありがとうございます!
ご要望いただいた「合体ドロップ」の改善を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=vegetable-drop
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/vegetable-drop/
ご利用ありがとうございます!
Echo
Iris