10 利用LED燈設計遊戲1
(2017/08/20)
學micro:bit已快兩個星期了,對於基本的使用已有一些基本的認識,今天來學學純LED燈的使用。其實有一點土法鍊鋼,後來才發現程式積木有【遊戲】相關的積木,利用這些積木應可加快程式的設計。今天一共做了三個作業,如下:
作業一:傾斜板子,讓LED亮燈往上方移動
作業二:賽車遊戲 (躲車子,也可以叫 【猴子躲子彈】,也可改成【猴子接香蕉】)
作業三:猴子射香蕉
----------------------------------------------------------------------------------------------
作業一:傾斜板子,讓LED亮燈往上方移動
利用【加速度感應值】X及Y的變化來得知板子是否被傾斜,說明如下:
LED燈的座標值
程式說明:當傾斜板子時,LED燈會往上方移動
<方法一> 土法:
程式如附件 microbit-10-01.hex
<方法二> 利用【遊戲】積木:
程式如附件 microbit-10-01-02.hex
作業二:賽車遊戲 (也可以叫 【猴子躲子彈】遊戲)
遊戲說明:如下圖所示 (按A鍵LED燈向左移動,按B鍵LED燈向右移動,按A+B鍵LED燈向上移動,同時每欄上方有物品(車子或子彈)會掉落,主角要左右閃躲,避免被物品(車子或子彈)打到)
<方法一> 土法:
基本型:利用A(向左移)、B(向右移)及A+B(向上移)來控制LED燈的亮燈位置
程式說明:
程式如附件 microbit-10-02-01.hex
增加上方物品往下掉(Y0、Y1、Y2、Y3、Y4分別代表每一欄物品的Y座標)
程式如附件 microbit-10-02-02.hex
接下來程式是控制每一欄的燈往下掉,共5欄,每一欄的程式都一樣(只改裡面的變數即可)
程式說明:
當主角被掉下的物品(車子、子彈)碰到時
程式說明:
這個部分也可寫成((1 )且(1 ))或((2 )且(2 ))或((3 )且3 ))或((4 )且(4 ))或((5 )且(5 )) 的方式,這樣程式就不會寫那麼長!
沒有做結束的程式,反過來做就成為【猴子接香蕉】(也就是要去接掉下來的東西)
<方法二> 利用【遊戲】積木:
作業三:猴子射香蕉 (按A鍵LED燈向左移動,按B鍵LED燈向右移動,按A+B鍵發射子彈(LED燈向上跑))
遊戲說明:如下圖所示(A、B鍵控制猴子左右的位置,A+B向上發射子彈)
基本型:利用A(向左移)、B(向右移)及A+B(發射子彈)來控制LED燈的亮燈位置
程式說明:X,Y為猴子的座標(僅能出現在最底下的一排); X2,Y2為子彈的座標,A、B鍵控制猴子的位置,A+B向上發射子彈
程式如附件 microbit-10-03-01.hex
增加香蕉隨機出現在上方(X3、Y3為香蕉座標)
程式說明:為避免影響其他LED燈,所以點亮這顆燈後,把前一顆燈給滅掉,這跟前面的程式有點不一樣
程式如附件 microbit-10-03-02.hex
這樣就可達到發射子彈打到香蕉後,代表香蕉的燈號就會滅掉!
增加時間控管及得分
後來發現有【遊戲】的程式積木,內有【得分】及【遊戲結束】的程式積木可用
程式有改變的部分,如下:設定遊戲玩30秒後結束,並顯示【得分】。
程式如附件 microbit-10-03-03.hex
<方法二> 利用【遊戲】積木: (建議用此法)
程式如附件 microbit-10-03-04.hex