第 3 課 · 造

造 Gemini Canvas:做一個有網址的互動遊戲

  • 約 50 分鐘
  • 成品:學生打開網址就能玩的配對遊戲
  • 不需要編程基礎
  1. 1 用
  2. 2 讀
  3. 3 造
  4. 4 連

① 先試玩

約 4 分鐘

以下兩個遊戲都是用本課的方法做出來的。先親手玩一次,感受學生會經歷的操作。

中學例:中三化學「元素配對站」

小學例:小二英文「Letter Sounds Match」

答錯時卡片輕震、不扣分;答對時兩張卡變綠並鎖定;五對完成後出現答案摘要和重玩按鈕。

② 生成第一版

約 10 分鐘

第 1 課的四要素(角色、任務、背景、格式),寫遊戲時具體化為四件事:對象與目標、班本資料、互動規則、驗收標準。

  1. 打開 gemini.google.com,在輸入框的工具選單選「Canvas」。
  2. 複製下面其中一段完整提示詞,貼上後送出。

中學例:元素配對站

提示詞
請直接在 Gemini Canvas 建立並預覽一個可玩的單頁遊戲,不要先解釋程式碼。

對象與目標:中三學生;遊戲名稱「元素配對站」;把元素符號與中文名稱連結。

請把以下內容放在程式最上方的 GAME_DATA,方便教師修改:
[
  { pairId: "H", left: "H", right: "氫", hint: "最輕的元素" },
  { pairId: "O", left: "O", right: "氧", hint: "支持燃燒" },
  { pairId: "C", left: "C", right: "碳", hint: "鉛筆芯的主要成分" },
  { pairId: "Na", left: "Na", right: "鈉", hint: "食鹽的成分之一" },
  { pairId: "Cl", left: "Cl", right: "氯", hint: "泳池消毒常用" }
]

互動規則:
1. 左右兩組卡片每次開始分別隨機排列。
2. 學生先點元素符號,再點中文名稱;用相同 pairId 判斷答案。
3. 正確時兩張卡變綠、鎖定、顯示完整答案,進度加一。
4. 錯誤時兩張卡輕震,顯示「再看清楚,試一次」,不扣分,之後可重試。
5. 完成五對後顯示答案摘要、「再玩一次」及祝賀訊息。

視覺:玫瑰紅主色、米白底、大字卡片;版面簡潔。

共同驗收標準:
- 使用單一 HTML 檔案,內含 CSS 和原生 JavaScript,可在 Canvas 直接預覽。
- 不使用外部程式庫、外部圖片或外部字型;所有班本內容集中在程式最上方的 GAME_DATA。
- 所有按鈕和可點擊區域最少 48×48px,支援滑鼠和觸控操作。
- 重要提示使用 aria-live;支援 prefers-reduced-motion;提供音效開關,預設可以關閉。
- 只在本機瀏覽器運作,不要登入、資料庫、Firebase、Firestore、追蹤、上載、網絡請求或收集個人資料。
- 請自行測試:正確答案、錯誤答案、完成畫面、390px 手機闊度,以及確認沒有外部網絡請求。
- 請先修正測試發現的問題,再展示最後可玩的版本。

小學例:Letter Sounds Match

提示詞
請直接在 Gemini Canvas 建立並預覽一個可玩的單頁遊戲,不要先解釋程式碼。

對象與目標:小二學生;遊戲名稱「Letter Sounds Match」;把英文字母與開首音相同的圖像連結;介面文字用簡單英文。

請把以下內容放在程式最上方的 GAME_DATA,方便教師修改:
[
  { pairId: "a", left: "A a", right: "🍎 apple", hint: "A is for apple" },
  { pairId: "b", left: "B b", right: "⚽ ball", hint: "B is for ball" },
  { pairId: "c", left: "C c", right: "🐱 cat", hint: "C is for cat" },
  { pairId: "d", left: "D d", right: "🐶 dog", hint: "D is for dog" },
  { pairId: "s", left: "S s", right: "☀️ sun", hint: "S is for sun" }
]

互動規則:
1. 左右兩組卡片每次開始分別隨機排列。
2. 學生先點字母卡,再點圖像卡;用相同 pairId 判斷答案。
3. 正確時兩張卡變綠、鎖定、顯示「A is for apple」這類完整句子,進度加一。
4. 錯誤時兩張卡輕震,顯示「Try again. Look carefully!」,不扣分,之後可重試。
5. 完成五對後顯示答案摘要、「Play again」及祝賀訊息。

視覺:藍色主色、大字母、大圖示;每句提示不超過 8 個英文單詞。

共同驗收標準:
- 使用單一 HTML 檔案,內含 CSS 和原生 JavaScript,可在 Canvas 直接預覽。
- 不使用外部程式庫、外部圖片或外部字型;所有班本內容集中在程式最上方的 GAME_DATA。
- 所有按鈕和可點擊區域最少 48×48px,支援滑鼠和觸控操作。
- 重要提示使用 aria-live;支援 prefers-reduced-motion;提供音效開關,預設可以關閉。
- 只在本機瀏覽器運作,不要登入、資料庫、Firebase、Firestore、追蹤、上載、網絡請求或收集個人資料。
- 請自行測試:正確答案、錯誤答案、完成畫面、390px 手機闊度,以及確認沒有外部網絡請求。
- 請先修正測試發現的問題,再展示最後可玩的版本。

Canvas 預覽區出現可以玩的遊戲。這就是本課第一個成果。

③ 換成自己的內容

約 10 分鐘

遊戲的結構不用改,只換 GAME_DATA。每一行就是一對答案(左卡和右卡);pairId 是這一對的代號,每行都要不同。

  1. 在 Canvas 對話框輸入:「只把 GAME_DATA 換成以下內容,其他地方不要改:」然後貼上你的五對資料。
  2. 每行照這個格式:{ pairId: "代號", left: "左卡", right: "右卡", hint: "提示" }。

中學例:中三歷史

{ pairId: "1911", left: "辛亥革命", right: "1911 年", hint: "推翻清朝" }

小學例:小二數學

{ pairId: "3x4", left: "3 × 4", right: "12", hint: "4 + 4 + 4" }

遊戲換成你的題目,玩法和版面不變。

④ 局部修改及救援提示詞

約 8 分鐘

局部修改:在 Canvas 預覽中選取想改的按鈕、標題或卡片,再輸入:「只將我選取的元素改成較大的圓角黃色按鈕,其他地方不要改。」(Gemini 稱這個功能為「Select & ask」,即選取後提問。)

生成結果不理想時不用重新開始。把問題收窄,要求 Canvas 只修指定部分:

A|只修問題

提示詞
只修正以下指定問題,不要重建整個遊戲,也不要改動已經正常的功能、版面、GAME_DATA 或配色。問題是:[在此寫問題]。修正後請重新測試該功能。

B|手機版

提示詞
只修正 390px 手機闊度的顯示問題,不要重建整個遊戲。所有內容不可水平溢出;按鈕最少 48×48px;文字不可重疊;完成後請用 390px 闊度自行檢查。

只有你指定的位置改變,其他地方保持原樣。

⑤ 交給學生前,親手做五項測試

約 5 分鐘

測試通過標準
1 正確答案有回饋、卡片鎖定、進度正確
2 錯誤答案不扣分,可以清楚地再試
3 完成狀態只在真正完成後才祝賀
4 390px 手機不溢出,按鈕最少 48×48px
5 私隱與網絡沒有登入、上載或外部網絡請求;可用下方救援 D 清理

五項全部通過。

⑥ 用 Google Sites 發佈

約 10 分鐘

先確認你複製的是完整的單一 HTML 程式碼,包括 HTML、<style> CSS 和 <script> JavaScript。在 Canvas 切換到程式碼檢視,全選後複製。

  1. 開啟 Google Sites:在網址列輸入 sites.new。
  2. 進入 Pages:在右邊工具列選 Pages。
  3. 新增全頁嵌入:按下方加號,選 Full page embed。
  4. 命名遊戲頁面:輸入遊戲名稱,按 Done。
  5. 加入嵌入內容:在新頁面選 Add embed,再選 Embed code。
  6. 貼上完整程式碼:貼上從 Canvas 複製的程式碼,按 Next。
  7. 預覽並插入:確認預覽見到遊戲畫面,按 Insert,再用預覽功能試玩一次。
  8. 發佈及分享:按右上角 Publish,設定學生可以瀏覽,複製已發佈網址。

中文介面的按鈕名稱是『頁面』『插入』『整頁嵌入』『嵌入程式碼』『發布』;Google Sites 的中文名稱是『Google 協作平台』。

部分學校的管理員可能限制對外發布;如未能發布給學生,請向管理員查詢。

日後要更新遊戲:Google Sites 只是把遊戲放進嵌入框,不會跟隨 Canvas 更新。改了遊戲後,要回到 Embed code 貼上新版本,再重新發佈。

你得到一條網址,用手機打開可以玩遊戲。

Google 官方指引:在 Google Sites 嵌入內容

還可以這樣用

三種資料關係

遊戲學生思考資料寫法最適合內容
配對哪兩樣是一對?pairId字詞、圖像、符號、數量
分類應該放入哪一組?category共同特徵、概念分組
排序哪樣先?哪樣後?order程序、事件、大小、時間

換一換就變新遊戲

科目中學例小學例
中文成語 ↔ 意思部件 ↔ 完整漢字
英文詞語 ↔ 詞性(分類)字母 ↔ 開首音圖像
數學方程 ↔ 解數字 ↔ 實物數量
科學/常識物質 ↔ 三態(分類)生長過程(排序)
歷史/人文事件(按年份排序)節日 ↔ 習俗

分類遊戲骨架(中學例:中二科學「物質三態」)

提示詞
請直接在 Gemini Canvas 建立並預覽一個可玩的單頁遊戲,不要先解釋程式碼。

對象與目標:中二學生;遊戲名稱「物質三態分類」;按常溫下的狀態把物質分類。

請把以下內容放在程式最上方的 GAME_DATA,方便教師修改:
分類區:
- solid:🧊 固體|提示「形狀和體積固定」
- liquid:💧 液體|提示「體積固定,形狀隨容器改變」
- gas:💨 氣體|提示「形狀和體積都不固定」
物質卡:
- solid:鐵釘、木塊、食鹽
- liquid:水、食油、牛奶
- gas:氧氣、二氧化碳、氮氣

互動規則:
1. 九張物質卡每次開始隨機排列。
2. 學生先點物質卡,再點分類區;用 category 判斷答案。
3. 正確時物質卡進入分類區,進度加一,並顯示「水在常溫下是液體」這類句子。
4. 錯誤時卡片返回原位,提示「想想它在常溫下的形狀和體積」,不扣分。
5. 全部完成後顯示三組答案摘要和「再玩一次」。
6. 可額外支援拖放,但不可只依賴拖放。

視覺:三個分類區用不同顏色;卡片大字。

共同驗收標準:
- 使用單一 HTML 檔案,內含 CSS 和原生 JavaScript,可在 Canvas 直接預覽。
- 不使用外部程式庫、外部圖片或外部字型;所有班本內容集中在程式最上方的 GAME_DATA。
- 所有按鈕和可點擊區域最少 48×48px,支援滑鼠和觸控操作。
- 重要提示使用 aria-live;支援 prefers-reduced-motion;提供音效開關,預設可以關閉。
- 只在本機瀏覽器運作,不要登入、資料庫、Firebase、Firestore、追蹤、上載、網絡請求或收集個人資料。
- 請自行測試:正確答案、錯誤答案、完成畫面、390px 手機闊度,以及確認沒有外部網絡請求。
- 請先修正測試發現的問題,再展示最後可玩的版本。

排序遊戲骨架(小學例:小三常識「植物的一生」)

提示詞
請直接在 Gemini Canvas 建立並預覽一個可玩的單頁遊戲,不要先解釋程式碼。

對象與目標:小三學生;遊戲名稱「植物的一生」;理解植物生長的先後次序,並用次序詞重述。

請把以下內容放在程式最上方的 GAME_DATA,方便教師修改:
[
  { order: 1, icon: "🌰", text: "種子", connector: "首先" },
  { order: 2, icon: "🌱", text: "發芽", connector: "接着" },
  { order: 3, icon: "🌿", text: "長出葉子", connector: "然後" },
  { order: 4, icon: "🪴", text: "長高長大", connector: "之後" },
  { order: 5, icon: "🌸", text: "開花", connector: "最後" }
]

互動規則:
1. 上方是五個空格,下方步驟卡隨機排列;點選卡片,卡片按點選次序放入空格。
2. 提供「返回一步」。未放滿前「檢查次序」不可使用。
3. 檢查前只顯示「已排 x / 5」。
4. 若錯誤,只標示最先錯的位置及「第 x 格再想一想」,不要公開答案。
5. 只有全部正確時才逐格亮起、顯示次序詞,並出現「一起說步驟」與「再玩一次」。

視覺:綠色主題;卡片有大圖示、短句和清楚編號。

共同驗收標準:
- 使用單一 HTML 檔案,內含 CSS 和原生 JavaScript,可在 Canvas 直接預覽。
- 不使用外部程式庫、外部圖片或外部字型;所有班本內容集中在程式最上方的 GAME_DATA。
- 所有按鈕和可點擊區域最少 48×48px,支援滑鼠和觸控操作。
- 重要提示使用 aria-live;支援 prefers-reduced-motion;提供音效開關,預設可以關閉。
- 只在本機瀏覽器運作,不要登入、資料庫、Firebase、Firestore、追蹤、上載、網絡請求或收集個人資料。
- 請自行測試:正確答案、錯誤答案、完成畫面、390px 手機闊度,以及確認沒有外部網絡請求。
- 請先修正測試發現的問題,再展示最後可玩的版本。

救援 C|低年級介面

提示詞
只改善低年級學生的操作介面,不要改變答案資料和遊戲規則。每句提示最多 18 個中文字,保留大型按鈕、清楚圖示、少量文字和即時鼓勵。

救援 D|私隱清理

提示詞
檢查並移除所有登入、資料庫、Firebase、Firestore、追蹤、上載、外部網絡請求和個人資料收集。遊戲必須完全在本機瀏覽器運作;不要改動遊戲內容。

延伸:幼稚園版三款遊戲

「漢字影相館」(配對)、「動物怎樣移動?」(分類)、「洗手步驟排排隊」(排序)的幼稚園原版及完整提示詞,見 幼兒互動遊戲三式。

小結

不需要先學編程:只要把「對象與目標、班本資料、互動規則、驗收標準」四件事寫清楚,再用五項測試把關,就可以把同一個骨架轉成不同科目的遊戲。

更多 Gemini 及 Gemini Notebook(舊稱 NotebookLM)提示詞:提示詞庫

下一課:第 4 課 · 連 Apps Script

想學更多?

到 Desmond EdTech 教學頻道看相關影片(粵語講解)