Gemini Canvasで作成した、毎日の買い物がもっと楽しく、もっと美味しくなる!「食材見分けマスター」は、クイズに答えるだけで自然と新鮮な食材を見分ける知識が身につく学習ゲームです。野菜や魚、お肉の選び方に自信がない方も、ゲームを進めるうちに見る目が変わります。自分だけの食材図鑑を完成させ、旬の知識も手に入れましょう。

HTML コードビューア

関連記事
食材見分けマスター

ゲームだけやりたい人はこちら

Gemini Canvasでの制作過程

初見のプロンプト

美味しい野菜や果物や魚や肉の見分け方を調べて

ディープリサーチで調べてもらう

これがゲーム感覚で覚えられるサイト作ってほしい

さらに機能を充実させるためにGeminiにアイディアをだしてもらう

他に追加した方がいい機能はある?
下記を追加して
食材図鑑モード
旬のカレンダー
苦手問題の復習
レベルアップ・称号システム
実績・バッジ機能
実績バッジにXにシェアできるボタン作って

過程をまとめたプロンプト公開

「食材の目利き学習ゲームサイト」開発プロンプト
1. 概要
ユーザーが美味しい食材(野菜、果物、魚、肉など)の見分け方を、ゲーム感覚で楽しく学べるインタラクティブなWebサイトを制作してください。クイズ形式のゲームに加え、学習をサポートする図鑑やカレンダー機能、そして継続的に楽しむためのゲーミフィケーション要素を盛り込みます。

2. 主要機能
以下の機能をすべて実装してください。

クイズシステム:

複数の食材カテゴリーから挑戦したいものを選択できる。

各カテゴリーごとに、見分け方に関する4択クイズが出題される。

回答を選択すると、即座に正解・不正解が視覚的に表示される。

正解・不正解に関わらず、詳しい解説文が表示される。

クイズ終了後、正解数を基にした結果画面を表示する。

学習サポート機能:

食材図鑑: クイズで正解した食材が自動的に登録される図鑑機能。登録された食材をクリックすると、見分け方のポイント、旬の時期、栄養素、保存方法などを確認できるモーダルウィンドウが表示される。

旬のカレンダー: 1月から12月までのカレンダー形式で、各月に旬を迎える食材がアイコンと名前付きで一覧表示される。

苦手問題の復習: クイズで間違えた問題だけをまとめて再挑戦できる機能。

ゲーミフィケーション要素:

レベルアップ・称号システム:

クイズに正解すると経験値(EXP)が貯まる。

経験値が一定値に達するとレベルアップし、ポップアップで通知される。

レベルに応じて「見習いバイヤー」「食材マスター」などの称号が与えられる。

現在のレベル、称号、次のレベルまでの経験値バーが画面上部に常に表示される。

実績・バッジ機能:

「初めてクイズを完了」「野菜クイズで全問正解」「図鑑を10個集める」など、特定の条件を達成すると実績が解除される。

解除した実績は「実績」ページでカラーのバッジとして一覧表示される。未解除のものはグレーアウトで表示する。

ソーシャル機能:

X(旧Twitter)シェア機能: 解除した実績バッジそれぞれに「Xでシェア」ボタンを設置する。ボタンをクリックすると、実績を獲得したことを報告する定型文が入った状態でXの投稿画面が開く。

3. コンテンツ要件
カテゴリー: 以下の8つのカテゴリーを作成してください。

野菜 🥕

果物 🍓

魚 🐟

肉 🥩

きのこ 🍄

乳製品・卵 🥚

乾物 🌊

加工食品 🥫

クイズデータ: 各食材の問題には、以下の情報を含んだデータ構造を用意してください。

id, item (食材名), emoji, question, options (選択肢), answer (正解のインデックス), explanation, season (旬の月), nutrition (栄養素), storage (保存方法)

4. デザイン・UI/UX要件
全体: 明るく、親しみやすいデザインにする。フォントは丸みのあるゴシック体(M PLUS Rounded 1cなど)を使用する。

スタイリング: Tailwind CSSを使用し、モダンでレスポンシブなレイアウトを実現する。

UI要素:

カテゴリー選択やボタンには、角の丸いカードデザインを採用し、ホバー時には少し浮き上がるようなアニメーションを付ける。

実績解除やレベルアップ時には、画面の隅にポップアップ(トースト通知)を表示する。

UIのナビゲーションは画面上部に固定し、現在表示している画面のボタンがアクティブ表示になるようにする。

5. 技術仕様
ファイル形式: すべてのHTML, CSS, JavaScriptを1つの**index.htmlファイルにまとめてください**。外部ファイルは作成しないこと。

データ保存: ユーザーの進捗(レベル、EXP、解放した図鑑アイテム、間違えた問題、実績)は、ブラウザのlocalStorageを使用して永続化してください。

言語: サイト内に表示されるすべてのテキスト(ボタン、解説、タイトルなど)は日本語にしてください。

完成度: 最終的なコードは、省略やプレースホルダー(...など)を含まない、完全に動作する完全なコードとして提供してください。