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