教學原文參考:音階記憶遊戲
這篇文章會介紹,使用 Scratch 3 裡的音樂擴充功能,搭配變數、清單、函式、邏輯判斷、廣播訊息、重複、尺寸、字串組合...等積木,實作一個有趣的 Do、Re、Mi、Fa、So 音階記憶遊戲。
在角色編輯區,使用繪畫,加入五個不同顏色「圓形」的新角色,五個圓形分別表示 Do、Re、Mi、Fa、So ( 參考:造型與繪圖 )。
將角色在舞台上排列成下圖的樣子。
點擊「貓咪」角色,建立四個變數和三個清單:
點擊綠旗時,將音階數和 go 的變數都設為 0,並讓貓咪說出「點我,開始遊戲吧!」。
點擊角色時,判斷如果音階數等於 0,就廣播「開始」的訊息。
為什麼要使用邏輯判斷和廣播訊息?因為如果直接將程式放在點擊角色裡,會在重複點擊角色時,發生預期外的狀況,所以使用廣播訊息來避免例外狀況發生。
將 list 清單勾選顯示在舞台上,點選清單的「+」號,增加 60、62、64、65、67 五個項目,分別代表對應的音階,完成後再將清單取消勾選,在舞台上隱藏。
注意,這個步驟很容易被忽略。
建立一個「建立題目」的函式,建立音階題目:
為什麼要使用「無條件捨去」,因為待會在作答之後,會將音階數增加 0.5,讓音階數量是 3、3、4、4、5、5...的規律,所以使用無條件捨去,如果希望是 3、4、5、6 的規律,就不需要使用無條件捨去。
再建立一個「聽聲音」的函式,播放題目的音階,並加入音樂的擴充功能:
編輯收到「開始」訊息時的程式:
編輯收到「next」訊息時的程式 ( next 訊息會在「判斷答對」之後發出 ):
編輯收到「gameover」訊息時的程式 ( gameover 訊息會在「判斷答錯」之後發出 )
點擊「Do」的圓點角色,設定點擊綠旗時,尺寸設定為 100% ( 因為播放音階時會放大 )
設定當收到訊息「60」時,將尺寸變成 120%,等待 0.5 秒後再變回 100%。
收到訊息可以點擊下拉選單中「新的訊息」,增加 60 的新訊息,又因為 Do 的音階為 60,所以使用該數值作為判斷依據。
接著設定當角色被點擊的程式:
最後將圓形 Do 的程式,複製到 Re、Mi、Fa 和 So 的角色裡。
以下圖的 Re 為例,總共有三個位置要改成 62,依此類推修改 Mi、Fa 和 So。
完成後,點擊綠旗,就可以開始進行音階記憶的遊戲。
範例解答:音階記憶遊戲
如果已經熟悉了音階記憶遊戲的原理,還可以嘗試更多好玩的作法:
- 加入「雲端變數」,紀錄遊戲的最高分 ( 解答 )
大家好,我是 OXXO,是個即將邁入中年的斜槓青年,如果對我有點興趣(笑,可以與我聯繫,一起來做點有玩又有創意的東西吧!