リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: CrossCraft クロスワードパズルメーカー
ヒントカード表示モード(虫食いヒント)の追加
## 1. 目的
プレイ中に行き詰まったとき、答えを完全に見ることなく「1文字だけ表示する」ヒントカード機能を追加する。学習教材としての活用度を高め、子どもや初心者でも途中で諦めずに遊び続けられるようにする。
## 2. 具体的な仕様
### 2-1. UIの追加
- プレイ画面右下(印刷ボタンの近く)に「💡 ヒントを使う」ボタンを1つ追加する。
- スマホでは画面下部の固定フッターバーに配置し、タップしやすくする。
### 2-2. ヒント使用フロー
1. ユーザーがグリッド上のいずれかのマスを選択した状態で「💡 ヒントを使う」ボタンを押す。
2. 選択中のマスが属する単語(タテ or ヨコ、直近に選んだ方向を優先)の中から、**まだ未入力のマスを1つランダムに選び、正解の1文字を薄いハイライト(背景色: #fffde7、文字色: #f57f17)付きで自動入力する**。
3. ヒントで埋まったマスは通常入力マスと区別するため、クラス `hint-filled` を付与し、CSS で薄い黄色背景を維持する。正誤判定時はヒントマスも正解扱いとする(既存の正誤判定ロジックに `hint-filled` マスをスキップ対象として追加)。
4. 対象の単語がすでに全マス入力済みの場合は「この単語はすでに完成しています」とalertで通知し、ヒントを消費しない。
### 2-3. ヒント回数の制限とカウンター
- 1パズルあたりのヒント使用可能回数は **5回** とする(定数 `MAX_HINTS = 5` で管理し、将来的に変更しやすくする)。
- ボタン横に「💡 残り X 回」のテキストカウンターをリアルタイム表示する。
- 残り0回になったらボタンをdisabledにしてグレーアウトし、「ヒントを使い切りました」のtooltipを表示する。
### 2-4. クリアタイムへの影響
- ヒントを1回以上使用した場合、クリア後の記録表示に「(ヒント X 回使用)」の注記を追加する。
- ローカルストレージへの記録保存時も `hintsUsed` フィールドを追加し、ヒントなしクリアと区別できるようにする。既存の記録フォーマットに `hintsUsed: 0` をデフォルト値として付与し後方互換を保つ。
### 2-5. プリセットパズルとカスタムパズルの両対応
- プリセットパズル・共有URLパズル・ショートコードパズルのいずれでも同じロジックで動作する。
- パズルメーカー(編集モード)ではこのボタンを非表示にする(`display:none`)。
## 3. 既存機能との整合
- 正誤判定・クリア判定・紙吹雪エフェクトのトリガーはすべて既存コードをそのまま使用し、ヒントマスを「正解済み」として扱う条件分岐を1箇所追加するだけで対応する。
- 共有URLやショートコードのデータ構造には手を加えない(ヒント状態はセッション内のみ保持)。
- 印刷機能には影響しない(印刷時はプレイUI全体を非表示にする既存処理がそのまま適用される)。
- CSSは既存のクラス命名規則に合わせ `.hint-filled` を追記するのみ。
プレイ中に行き詰まったとき、答えを完全に見ることなく「1文字だけ表示する」ヒントカード機能を追加する。学習教材としての活用度を高め、子どもや初心者でも途中で諦めずに遊び続けられるようにする。
## 2. 具体的な仕様
### 2-1. UIの追加
- プレイ画面右下(印刷ボタンの近く)に「💡 ヒントを使う」ボタンを1つ追加する。
- スマホでは画面下部の固定フッターバーに配置し、タップしやすくする。
### 2-2. ヒント使用フロー
1. ユーザーがグリッド上のいずれかのマスを選択した状態で「💡 ヒントを使う」ボタンを押す。
2. 選択中のマスが属する単語(タテ or ヨコ、直近に選んだ方向を優先)の中から、**まだ未入力のマスを1つランダムに選び、正解の1文字を薄いハイライト(背景色: #fffde7、文字色: #f57f17)付きで自動入力する**。
3. ヒントで埋まったマスは通常入力マスと区別するため、クラス `hint-filled` を付与し、CSS で薄い黄色背景を維持する。正誤判定時はヒントマスも正解扱いとする(既存の正誤判定ロジックに `hint-filled` マスをスキップ対象として追加)。
4. 対象の単語がすでに全マス入力済みの場合は「この単語はすでに完成しています」とalertで通知し、ヒントを消費しない。
### 2-3. ヒント回数の制限とカウンター
- 1パズルあたりのヒント使用可能回数は **5回** とする(定数 `MAX_HINTS = 5` で管理し、将来的に変更しやすくする)。
- ボタン横に「💡 残り X 回」のテキストカウンターをリアルタイム表示する。
- 残り0回になったらボタンをdisabledにしてグレーアウトし、「ヒントを使い切りました」のtooltipを表示する。
### 2-4. クリアタイムへの影響
- ヒントを1回以上使用した場合、クリア後の記録表示に「(ヒント X 回使用)」の注記を追加する。
- ローカルストレージへの記録保存時も `hintsUsed` フィールドを追加し、ヒントなしクリアと区別できるようにする。既存の記録フォーマットに `hintsUsed: 0` をデフォルト値として付与し後方互換を保つ。
### 2-5. プリセットパズルとカスタムパズルの両対応
- プリセットパズル・共有URLパズル・ショートコードパズルのいずれでも同じロジックで動作する。
- パズルメーカー(編集モード)ではこのボタンを非表示にする(`display:none`)。
## 3. 既存機能との整合
- 正誤判定・クリア判定・紙吹雪エフェクトのトリガーはすべて既存コードをそのまま使用し、ヒントマスを「正解済み」として扱う条件分岐を1箇所追加するだけで対応する。
- 共有URLやショートコードのデータ構造には手を加えない(ヒント状態はセッション内のみ保持)。
- 印刷機能には影響しない(印刷時はプレイUI全体を非表示にする既存処理がそのまま適用される)。
- CSSは既存のクラス命名規則に合わせ `.hint-filled` を追記するのみ。
💬 返信 (3)
🛠 開発を開始しました (機能追加 (crosscraft))
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「CrossCraft クロスワードパズルメーカー」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=crosscraft
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/crosscraft/
ご利用ありがとうございます!
ご要望いただいた「CrossCraft クロスワードパズルメーカー」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=crosscraft
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/crosscraft/
ご利用ありがとうございます!
Echo
Iris