英文打字機
這篇文章會介紹,如何在 Scratch 裡使用換造型、分身、詢問並等待、重複直到...等積木,實作一個英文字母打字的遊戲。
角色設定
在角色編輯區,刪除貓咪角色,加入一個「字母 A」的角色 ( 參考:Scratch 角色設定 )。
點選造型頁籤,替字母 A 增加 B、C、D、E 四個造型,將造型的名稱,分別改成小寫的英文字母 a、b、c、d、e。
積木程式原理
設定點擊綠旗時角色的位置:
- 定位到舞台中間上方 ( 0, 150 )。
- 隱藏本尊。
- 使用重複無限次搭配等待一秒,每隔一秒建立自己的分身。
設定分身產生後的動作:
- 設定 x 為 -200~200 的隨機數 ( 水平隨機位置 )。
- 造型換成 1~5 隨機編號 ( 隨機出現 A、B、C、D、E )。
- 顯示分身。
- 使用重複無限次,每次重複往下移動 1 點。
完成後點擊綠旗,就會看到隨機字母不斷出現,並往下移動。
新增「答案」和「得分」兩個變數,作為記錄使用者輸入的字母,以及最終得分。
新增另外一個點擊綠旗積木,在點擊綠旗時執行:
- 設定得分為 0。
- 使用重複無限次積木,每次重複時詢問使用者,當使用者輸入文字後,將答案變數設為使用者輸入的文字。
修改剛剛產生分身的程式:
- 將「重複無限次」積木改成「重複直到」。
- 當「答案等於造型名稱」時,停止重複,執行下方程式。
- 將得分增加 1。
- 刪除分身。
完成後,點擊綠旗,就可以進行英文打字遊戲。
遊戲過程中,會發現輸入文字後會一次刪除所有重複的字母,如果要避免這種狀況,可以新增一個變數 a 來處理:
- 使用者輸入文字後,將 a 設定為 0。
- 分身產生後,重複直到的邏輯判斷,增加判斷 a 等於 0。
- 如果回答正確,將 a 設為 1,如此一來就能一次只消除一個分身。
接著新增判斷遊戲結束的程式:
- 在產生分身的區塊,增加「如果...那麼」積木。
- 判斷如果 y 座標小於 -150 ( 表示字母掉到下面 ),發送 gameover 訊息,並停止其他程式。
使用角色繪圖,新增一個滿版的 Game Over 文字。
設定滿版 Game Over 的程式:
- 點擊綠旗時,隱藏 Game Over。
- 收到 gameover 訊息時,顯示 Game Over,並移到最上層,蓋住所有的字母。
完成效果
完成後,就是一個可以記錄得分、有遊戲結束畫面的英文打字機遊戲。
範例解答
範例解答:英文打字機
延伸練習
如果已經熟悉了英文打字機的原理,還可以嘗試更多好玩的作法:
- 加入造型,使其變成 26 個英文字母。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~