Micro:bit 模擬傳球小程序

今天我們來實(shí)現(xiàn)一個(gè)模擬傳球小程序诈铛,通過按鍵 A 和 B 來控制球( led 小燈)左右移動(dòng)摊溶,通過這個(gè)小程序拭卿,你將了解到如何使用 Micro:bit 提供的邏輯骡湖、循環(huán)、事件和選擇模塊峻厚。需要注意的一點(diǎn)是响蕴,學(xué)習(xí)編程的重點(diǎn)在于學(xué)習(xí)思考問題解決問題的過程,編程本身只是一個(gè)工具惠桃,是為了幫你解決問題的工具浦夷,如何思考才是最重要的。

效果圖:

實(shí)現(xiàn)的功能

1. 程序開始時(shí)辜王,一個(gè)小球( led 小燈)從屏幕上方移動(dòng)到屏幕中間

2. 當(dāng)按鈕 A 按下時(shí)劈狐,小球向右移動(dòng),碰到屏幕邊緣停止

3. 當(dāng)按鈕 B 按下時(shí)呐馆,小球向左移動(dòng)肥缔,碰到屏幕邊緣停止

4. 如果小球已經(jīng)處于屏幕最右邊,此時(shí)按下按鈕 A汹来,給出箭頭提示按按鈕 B续膳,因?yàn)樾∏驘o法再往右移動(dòng)

5. 如果小球已經(jīng)處于屏幕最左邊改艇,此時(shí)按下按鈕 A,給出箭頭提示按按鈕 B坟岔,因?yàn)樾∏驘o法再往左移動(dòng)

6. 如果小球正向右移動(dòng)谒兄,此時(shí)按下按鈕 B,小球向左移動(dòng)

7. 如果小球正向左移動(dòng)社付,此時(shí)按下按鈕 A承疲,小球向右移動(dòng)

知識點(diǎn)

+ led 點(diǎn)陣及坐標(biāo)

+ 循環(huán)

? + 無限循環(huán)

? + 條件循環(huán)

+ 按鈕按下事件

+ 邏輯判斷

+ 精靈

知識點(diǎn)解析

led點(diǎn)陣及坐標(biāo)

Micro:bit 自帶了一個(gè) 5x5 的 led 點(diǎn)陣屏,可用于文字或圖型展示鸥咖,左上角為 (0,0) 點(diǎn)燕鸽,右下角為 (4,4) 點(diǎn),水平方向(從左到右)為?x軸?方向扛或,依次遞增 [0-4]绵咱,垂直方向(從上到下)為?y軸?方向,依次遞增 [0-4]熙兔,

各個(gè)點(diǎn)坐標(biāo)分布如下 (x,y) :

(0,0)(1,0)(2,0)(3,0)(4,0)

(0,1)(1,1)(2,1)(3,1)(4,1)

(0,2)(1,2)(2,2)(3,2)(4,2)

(0,3)(1,3)(2,3)(3,3)(4,3)

(0,4)(1,4)(2,4)(3,4)(4,4)

循環(huán)

無限循環(huán)

無限循環(huán)悲伶,可以參考?前導(dǎo)知識-程序的流程與基本概念?里面關(guān)于無限循環(huán)的解釋,顧名思義住涉,就是一直會(huì)進(jìn)行下去的循環(huán)麸锉,從進(jìn)入循環(huán)體開始,從上到下執(zhí)行舆声,實(shí)行完畢后會(huì)回到循環(huán)體開頭再從上到下執(zhí)行循環(huán)體花沉。

無線循環(huán)?模塊位于?基本?分類下

有條件循環(huán)

有條件循環(huán)與無限循環(huán)的不同點(diǎn)在于,有條件循環(huán)是帶條件判斷的媳握,如果條件滿足碱屁,就進(jìn)入循環(huán)體執(zhí)行,執(zhí)行完一遍之后蛾找,再次判斷條件娩脾,如果條件成立,則繼續(xù)從上到下執(zhí)行循環(huán)體打毛,否則不繼續(xù)執(zhí)行循環(huán)體柿赊。

Micro:bit 提供了 4 種有條件循環(huán),位于?循環(huán)?分類下

固定執(zhí)行次數(shù)循環(huán)

帶條件判斷循環(huán)

帶索引循環(huán)

遍歷數(shù)組循環(huán)

詳細(xì)解釋見下圖

按鈕按下事件

按鈕按下事件是事件的一種幻枉,關(guān)于?事件?這一概念可以參考?前導(dǎo)知識-程序的流程與基本概念?里面關(guān)于事件的解釋碰声,即當(dāng)某個(gè)按鈕被按下時(shí)應(yīng)該執(zhí)行的動(dòng)作,micro bit 自帶了 3個(gè)按鈕熬甫,分別是正面的?A?B?按鈕和背面的?重置?按鈕胰挑,但是 重置 按鈕的行為不能被更改,默認(rèn)為重新執(zhí)行程序,因此沒有對應(yīng)的事件洽腺,并且 A B 可以同時(shí)按下脚粟,所以有 3 個(gè)按鈕按下事件覆旱,位于?輸入?分類下

+ 當(dāng)按鈕 A 按下

+ 當(dāng)按鈕 B 按下

+ 當(dāng)按鈕 A+B 同時(shí)按下

邏輯判斷

邏輯判斷模塊位于?邏輯?分類下蘸朋,具體解釋如下圖

其中,選擇結(jié)構(gòu)可以相互組合組成更為復(fù)雜的選擇結(jié)構(gòu)扣唱,比如下面的例子包含了 3個(gè)選擇結(jié)構(gòu)藕坯,組成了邏輯:

如果 item > 0 (1)? ??

如果 item = 5 (2)? ? ? ? 顯示數(shù)字 5? ? 顯示數(shù)字 1 否則? ??

如果 item = 0 (3)? ? ? ? 顯示數(shù)字 0? ? 顯示數(shù)字 -1

舉個(gè)例子,當(dāng) item 為 5 時(shí)噪沙,將顯示數(shù)字 5 和 1炼彪,當(dāng) item 為 -2 時(shí),顯示數(shù)字 -1

精靈

精靈是游戲編程里一個(gè)常用的概念正歼,精靈代表了一個(gè)角色辐马,或是一個(gè)人物,在 Micro:bit 里它是一個(gè)LED局义,我們可以控制它進(jìn)行游戲喜爷,它可以移動(dòng),可以檢測有沒有和其他精靈或者屏幕邊緣碰撞萄唇,它可以有各種各樣的屬性檩帐,比如它當(dāng)前的位置,它當(dāng)前的方向等另萤,我們可以在?游戲?分類下找到這些模塊湃密。

思路

了解完了知識點(diǎn),我們來理一理實(shí)現(xiàn)思路四敞。

1. 當(dāng)開機(jī)時(shí)泛源,創(chuàng)建一個(gè)精靈,控制它從屏幕頂端移動(dòng)到屏幕中間忿危,即 y 坐標(biāo) 增加 2 次

2. 精靈會(huì)不停朝一個(gè)方向移動(dòng)达箍,需要用到一個(gè)循環(huán),不停向當(dāng)前方向移動(dòng) 1

3. 當(dāng)按下按鈕 A 時(shí)癌蚁,精靈向右移動(dòng)幻梯,控制精靈的 x 坐標(biāo)每次加 1

4. 當(dāng)按下按鈕 B 時(shí),精靈向左移動(dòng)努释,控制精靈的 x 坐標(biāo)每次減 1 (增加 -1)

5. 當(dāng)按下按鈕 A 時(shí)碘梢,如果精靈碰到屏幕右邊,則顯示指向按鈕 B 的箭頭

6. 當(dāng)按下按鈕 B 時(shí)伐蒂,如果精靈碰到屏幕左邊煞躬,則顯示指向按鈕 A 的箭頭

注意上面的用詞,當(dāng) xxx 時(shí),代表了一個(gè)?事件恩沛,如果 xx 則 xx在扰,代表了一個(gè)?選擇結(jié)構(gòu)

思考題:?知識點(diǎn)和思路都教給你了,思考下如何運(yùn)用上面提到的模塊實(shí)現(xiàn)這個(gè)游戲呢雷客?

實(shí)現(xiàn)

接下來我們一步一步完成這個(gè)游戲:

1. 「基本」->「當(dāng)開機(jī)時(shí)」模塊到編程區(qū)

2. 「變量」->「設(shè)置變量」芒珠,取名為?jingling

3. 「游戲」->「創(chuàng)建精靈」,坐標(biāo)改為 x : 2搅裙,y : 0

4, 「變量」->「將 item 設(shè)為」上一步 的模塊皱卓,把 item 改為?jingling

5. 「基本」->「暫停」模塊部逮,暫停 500ms

6. 「循環(huán)」->「固定次數(shù)循環(huán)」模塊娜汁,設(shè)置重復(fù)次數(shù)為 2 次

7. 「游戲」-> 「更改 x 幅度為 1」模塊到「固定次數(shù)循環(huán)」里,把 x 改為 y

8. 「基本」->「暫托峙螅」模塊到「固定次數(shù)循環(huán)」里掐禁,暫停 500ms

9.「變量」->「設(shè)置變量」,取名為?fudu颅和,值為0

10. 「基本」->「無限循環(huán)」

11. 「游戲」-> 「更改 x 幅度為 1」模塊傅事,1 改為 變量?fudu,由于?fudu?默認(rèn)為 0融虽,因此精靈不移動(dòng)

12. 「基本」->「暫拖硗辏」,暫停 500ms

13. 「輸入」->「當(dāng)按鈕A按下時(shí)」

14. 「邏輯」->「x = x」有额,第一個(gè) x 換成「游戲」->「jingling x」般又,第二個(gè)參數(shù)改為 4,即?jingling?在最右側(cè)

15. 「邏輯」->「如果為」巍佑,條件改成 上一步 的條件

16. 「基本」->「顯示 LED」到「如果為」里茴迁,畫一個(gè)向右的箭頭

17. 「基本」->「暫停」模塊到「如果為」里萤衰,暫停 500ms

18. 「變量」->「將 item 設(shè)為」1堕义,把 item 改為?fudu,這樣按下 A 時(shí)?jingling?就會(huì)不停加 1脆栋,即向右移動(dòng)

19. 選中「當(dāng)按鈕A按下時(shí)」按 Ctrl + C 復(fù)制倦卖,并按 Ctrl + V 粘貼

20. 更改 上一步 粘貼的模塊,把 按鈕 A 改為 按鈕 B椿争,「如果為」條件改為?= 0

21. 箭頭改為 向左

22. fudu?改為 -1

然后就完成啦怕膛,oh~yeah~

完整程序圖

作者微信公眾號:bw_bbz,歡迎關(guān)注啦

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秦踪,一起剝皮案震驚了整個(gè)濱河市褐捻,隨后出現(xiàn)的幾起案子掸茅,更是在濱河造成了極大的恐慌,老刑警劉巖柠逞,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昧狮,死亡現(xiàn)場離奇詭異,居然都是意外死亡板壮,警方通過查閱死者的電腦和手機(jī)逗鸣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來个束,“玉大人慕购,你說我怎么就攤上這事〔绲祝” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵获洲,是天一觀的道長阱表。 經(jīng)常有香客問我,道長贡珊,這世上最難降的妖魔是什么最爬? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮门岔,結(jié)果婚禮上爱致,老公的妹妹穿的比我還像新娘。我一直安慰自己寒随,他們只是感情好糠悯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著妻往,像睡著了一般互艾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上讯泣,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天纫普,我揣著相機(jī)與錄音,去河邊找鬼好渠。 笑死昨稼,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拳锚。 我是一名探鬼主播假栓,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼晌畅!你這毒婦竟也來了但指?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎棋凳,沒想到半個(gè)月后拦坠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡剩岳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年贞滨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拍棕。...
    茶點(diǎn)故事閱讀 39,981評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晓铆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绰播,到底是詐尸還是另有隱情骄噪,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布蠢箩,位于F島的核電站链蕊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏谬泌。R本人自食惡果不足惜滔韵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望掌实。 院中可真熱鬧陪蜻,春花似錦、人聲如沸贱鼻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽忱嘹。三九已至嘱腥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拘悦,已是汗流浹背齿兔。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留础米,地道東北人分苇。 一個(gè)月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像屁桑,于是被迫代替她去往敵國和親医寿。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容