ビジュアル言語のMakeCodeからテキスト言語のMicroPythonに書き換えてみよう

ビジュアル言語のMakeCodeで作ったコードをテキスト言語のMicroPythonに書き換えてみます。

マイクロビットのMakeCodeとMicroPythonはよく出来ていまして、MakeCodeの各ブロックとMicroPythonのコードの関係が分かりやすく、コードの書き換えが簡単に出来るようになっています。


MicroPythonを書く時は



micro:bit Python Editorをおすすめします。

micro:bit Python Editorでコードを書いてみよう


今回は



最初はにっこりの(HAPPY)アイコンを表示して、ボタンAを押した時に



ハート(HEART)のアイコンが出るようにしたコードをMakeCodeで作成して、MicroPythonへの書き換えをしてみます。




MakeCodeで書くと



のようになります。

ただ、MicroPytyonにはボタンAが押されたときのようなイベントハンドラーと呼ばれる外枠のブロックの大半が用意されていないため、外枠ブロックで用意されているずっとブロックに書き換えます。


ずっとブロック有りのコードに書き換えると



のようにずっとブロックの中にもし◯◯ならのブロックを入れて、その中でハート(HEART)のアイコンを表示するようにします。




先程のコードをMicroPythonに書き換えたものが

# 下記のコードはMicroPythonでマイクロビットを動かす時のお約束の行
from microbit import *

## 最初からブロックの箇所はここから ##
display.show(Image.HAPPY)
## 最初からブロックの箇所はここまで ##

## ずっとブロックの箇所はここから ##
while True:
    # ボタンAを押した時
    if button_a.is_pressed():
        display.show(Image.HEART)
## ずっとブロックの箇所はここまで ##

になります。


最初の

from microbit import *

はMicroPythonでマイクロビットを動かす時に必要になりますので、必ず書いておきましょう。




from microbit import *

から

while True:

までの間はMakeCodeの最初からブロックに該当する箇所になりまして、今回はここににっこり(HAPPY)アイコンを表示するための

display.show(Image.HAPPY)

を入れました。




while True:

はメインループ(イベントループ)と呼ばれる繰り返しになりまして、MakeCodeのずっとブロックが該当します。

※メインループに関してはMakeCodeでメインループのコードを書いてみようで詳しく触れます。


while True:は繰り返しになりまして、次の行からはPythonの文法のインデントを一つ深くして書く必要があります。

※インデントを深くすることに関してはタートルグラフィックスで繰り返しを使ってコードを整理してみように詳しい記載があります。


MakeCodeからMicroPythonへの書き換えは、今回触れた最初からブロックとずっとブロックに該当する箇所を意識すれば、それ以外は特に意識する必要はありません。


あとはMakeCodeの各ブロックが、MicroPythonではどのようなスペルになるのか?が難所になりますが、



画面左のAPIの項目で各機能の書き方を調べる事が出来ますので、この機能を活用してコードを組み立てます。


各英単語の読み方と意味がわからない場合は、Google翻訳を活用して、英語の学習をしながらプログラミングをしてみようの内容を参考にしてGoogle翻訳を活用して脳内音読が出来るように練習してみましょう。

京都の東本願寺で開催されているプログラミング教室で講師をしています。
詳しくはTera schoolを御覧ください。
同じカテゴリーの記事
マインクラフト用ビジュアルエディタを開発しています。

詳しくはinunosinsi/mcws_blockly - githubをご覧ください。