近期教學生使用 AI,我把重點放在兩件事:如何把問題問清楚,以及如何利用 AI 製作網頁遊戲。從一個想法開始,經過提問、實作、測試與修改,讓學生練習把自己的需求說明白,也練習判斷做出來的東西是否符合原本的想法。

這篇整理這兩個教學方向,並用「接星星」網頁遊戲示範可以怎麼帶學生練習。文中的提示詞、遊戲規則與測試情境是教學示例,方便依課程調整。

一、先想清楚自己要做什麼

教學生用 AI,可以先從一個小任務開始。我希望學生練習的是:知道自己想完成什麼、能把需求說清楚,並且能說明最後的作品怎麼運作。

例如製作網頁遊戲,第一步先讓學生用自己的話描述構想:玩家要做什麼?怎樣得分?什麼情況下結束?如果連這幾件事都還沒想好,就先把規則寫下來,再交給 AI 協助。

先寫自己的想法,再請 AI 幫忙。拿到結果後,還要回來確認它有沒有做到自己要求的事情。

二、把「幫我做」變成清楚的問題

「幫我做一個遊戲」可以當作起點,但我會引導學生把這句話拆開。遊戲類型、操作方式、得分規則和呈現方式,都可以成為問題的一部分。

我把提問整理成四個項目,讓學生照著檢查:

  • 目標:我想完成什麼?例如一個可以在瀏覽器玩的接星星遊戲。
  • 規則:玩家怎麼操作、怎麼得分、遊戲什麼時候結束?
  • 限制:需要支援哪些裝置?這次先做哪些功能?
  • 協助方式:希望 AI 先問問題、提供步驟,還是解釋某一段程式?

學生不一定要一開始就使用完整的技術名詞。先用日常語言表達,遇到不理解的詞,再請 AI 用例子說明,也可以回到課堂一起討論。

以下是一個練習用的提問:

我想製作一個「接星星」網頁遊戲。
玩家左右移動籃子,接到一顆星星加 1 分。
每次遊戲是 30 秒,時間結束後顯示分數。
電腦使用左右方向鍵,手機使用畫面上的左右按鈕。
這次先不加入音效、排行榜或帳號。

請先整理遊戲規則,指出還不清楚的地方。
先不要寫程式,等我確認規則後再繼續。

這個練習的重點,是讓學生知道自己交給 AI 的需求包含哪些內容。也可以先保留較簡短的問題,再與修改後的問題比較,看看兩次回答有哪些差異。

三、用網頁遊戲把想法做出來

選擇網頁遊戲作為練習,是因為可以把規則、畫面和操作放在同一個作品裡討論。學生能直接試玩,也能根據看到的問題提出下一次修改。

我會把製作流程拆成幾個小步驟,避免第一次就塞入太多功能。

  1. 確認規則:先寫好玩家操作、得分方式、時間限制及結束畫面。
  2. 完成基本版本:先讓遊戲可以開始、操作、計分和結束。
  3. 實際試玩:按照原本的規則逐項檢查,記錄沒有符合需求的地方。
  4. 修正問題:一次處理一個問題,修改後再測試。
  5. 加入自己的設計:基本功能確認後,再調整主題、顏色或難度。

例如規則確認後,可以接著這樣發問:

請依照已確認的接星星規則,製作第一版遊戲。
請把 HTML、CSS 和 JavaScript 放在一個 index.html 裡,
先使用簡單圖形,不使用外部圖片、套件或網路服務。

需要開始按鈕、剩餘時間、分數與重新開始按鈕。
請說明如何儲存檔案、用瀏覽器開啟,
並列出我應該測試的項目。
最後用初學者能理解的方式,解釋三個部分各自負責什麼。

這裡先把作品範圍縮小,讓注意力集中在基本互動。拿到程式後,要真的儲存並開啟;畫面有顯示只是第一步,操作與規則也需要檢查。

四、讓學生練習描述「哪裡有問題」

作品出現問題時,也是練習發問的機會。「不能玩」很難讓人知道發生了什麼。我會引導學生說明自己做了什麼、看到了什麼,以及原本期待的結果。

可以使用這個句型:

我在__情況下,做了__操作,出現__結果;我原本希望__。

例如:

我在電腦瀏覽器開啟遊戲,按下開始,再按住右方向鍵。
籃子會一直往右移動,最後跑到遊戲區域外面。
我希望籃子碰到右邊界時停下來。

以下是目前的程式碼:
〔貼上與移動及邊界判斷相關的程式〕

請先說明可能的原因,再提供需要修改的部分。
請保留原本的計分與倒數功能,並告訴我修改後如何測試。

如果不確定是哪一段程式,也可以先請 AI 協助指出要檢查的位置。遇到瀏覽器錯誤訊息時,則一起閱讀訊息,再決定要提供哪些內容。

我希望學生把「檢查作品」也當成作業的一部分。例如接星星遊戲,可以檢查:

  • 開始前是否維持等待狀態,按下開始後是否才進入遊戲。
  • 左右操作是否有效,籃子是否留在遊戲區域內。
  • 同一顆星星是否只計分一次,沒接到時是否不加分。
  • 時間結束後是否停止計分,並顯示這一局的結果。
  • 重新開始後,時間、分數和畫面是否回到初始狀態。
  • 若作品要求支援手機,是否實際測試過觸控按鈕與畫面大小。

測試紀錄也要寫清楚使用的裝置。只在電腦瀏覽器試過,就先記錄電腦的結果;手機的操作等測試後再補上。

五、做出作品後,還要能解釋

除了遊戲能不能玩,我也希望學生能說明自己做了什麼。可以先從畫面、樣式和互動三個部分理解:HTML 放置內容與按鈕,CSS 調整外觀,JavaScript 處理操作、分數與時間。

不需要第一次就理解每一行程式,但可以挑一個功能,請學生指出相關的位置,並用自己的話解釋。例如「哪裡決定遊戲是 30 秒?」或「按下重新開始後,哪些資料要重設?」

接著再改一個小地方,例如把遊戲時間改成 20 秒,或調整星星落下的速度。修改前先說明預期,修改後實際試玩,看看結果是否一致。

請指出這份程式裡,控制星星落下速度的地方。
先解釋它怎麼運作,不要直接幫我修改。
我想自己調整數值,再比較遊戲難度。

這樣就能把「AI 給了我什麼」和「我理解、修改了什麼」分別記錄下來。

六、把提問與修改過程留下來

這類作業可以搭配一份簡短的學習紀錄。除了最後的遊戲,也留下第一版構想、重要提問、遇到的問題,以及修改後的差異。

  • 我的構想:遊戲主題、操作方式與規則。
  • 我的提問:第一次怎麼問,後來補充了哪些條件。
  • 我的修改:選一個問題,說明修改前後的差異。
  • 我的驗證:測試了什麼、結果如何,還有哪些問題沒解決。
  • 我的理解:挑一個功能,用自己的話解釋它如何運作。

也要事先說明課程允許的 AI 使用範圍,要求學生標示 AI 協助的部分。練習時使用自訂的遊戲資料,避免把姓名、帳號、成績或其他同學的個人資料放進對話。

七、把學習重點放回學生自己的思考

近期這兩個教學方向,可以連成同一個過程:先把想法說清楚,再做出基本版本,接著發現問題、補充條件,最後用自己的話說明作品。

我希望學生帶走的能力,是遇到問題時知道怎麼描述、拿到回答時知道怎麼檢查,也願意透過實作修正自己的想法。網頁遊戲是這次的練習主題;提問、測試和解釋的過程,則是我想留下來的教學重點。