Microbit Python 課程介紹 --Gestures

2017-07-16 12:49

Microbit Python 課程介紹 --Gestures

Microbit Shop

具有加速度計的真正有趣的作用是手勢檢測。 如果您以某種方式(作為手勢)移動您的BBC micro:bit,則MicroPython可以檢測到這一點。

MicroPython能夠識別以下手勢:上,下,左,右,面朝上,面朝下,自由落體( up, down, left, right, face up, face down, freefall, 3g, 6g, 8g, shake),3g,6g,8g(3g, 6g and 8g )搖動。 手勢總是表示為字符串。 雖然大多數名稱應該是顯而易見的,當設備遇到這些級別的g-force時(例如當宇航員發射到太空中時),3g,6g和8g手勢適用。

要獲取當前手勢,請使用accelerometer.current_gesture 方法。 它的結果將是上面列出的一個命名手勢。 例如,該程序只會使您的設備快樂,如果它正面朝上:

from microbit import *

 

while True:

    gesture = accelerometer.current_gesture()

    if gesture == "face up":

        display.show(Image.HAPPY)

    else:

        display.show(Image.ANGRY)

 

再次,因為我們希望設備對變化的環境做出反應,所以我們使用 while loop。 在循環的範圍內,當前手勢被讀取並放入手勢中。 if條件(if conditional)檢查手勢(gesture)是否等於“面向上”("face up")(Python使用== 來測試相等性,單個等號= (single equals sign =)用於分配 - 就像我們如何將手勢讀取分配給手勢對象(the gesture object)))。 如果手勢等於“面朝上”,則使用顯示屏顯示愉快的臉部。 否則,設備看起來很生氣!

 

Magic-8

一個Magic-8球是一種在20世紀50年代首次發明的玩具。 這個想法是要求一個是/否的問題,搖一搖,等待它揭示真相。 變成一個程序很容易:

from microbit import *

import random

 

answers = [

    "It is certain",

    "It is decidedly so",

    "Without a doubt",

    "Yes, definitely",

    "You may rely on it",

    "As I see it, yes",

    "Most likely",

    "Outlook good",

    "Yes",

    "Signs point to yes",

    "Reply hazy try again",

    "Ask again later",

    "Better not tell you now",

    "Cannot predict now",

    "Concentrate and ask again",

    "Don't count on it"

    "My reply is no",

    "My sources say no",

    "Outlook not so good",

    "Very doubtful",

]

 

while True:

    display.show("8")

    if accelerometer.was_gesture("shake"):

        display.clear()

        sleep(1000)

        display.scroll(random.choice(answers))

 

大多數程序是一個名為answers的列表。 實際的遊戲是在 while循環結束。

遊戲的默認狀態是顯示字符"8"。 但是,程序需要檢測是否已經被動搖。 was_gesture 方法使用它的參數(在這種情況下,字符串“shake”,因為我們想檢測到一個抖動)返回一個 True / False 響應。

如果設備被搖動,如果條件(the if conditional)丟棄到其代碼清除屏幕,等待一秒鐘(所以設備似乎在考慮您的問題),並顯示一個隨機選擇的答案。

為什麼不問這是否是最偉大的程序呢? 你可以做些什麼來“欺騙”,使答案總是積極的還是消極的? (提示:使用按鈕。)

Microbit 台湾 商店

Microbit 中文 课程 : Python , Javascript, 物联网

              中国

—————

返回