mBlock【文法】

【mBlock】条件分岐(第8回)

条件分岐のプログラムについて学びます。

準備をしよう

下のURLをクリックして、mBlockを開いてください。
https://ide.mblock.cc/

学習内容

初めての方は、以下をご確認ください。

書き方

「条件分岐の本体」と「対象の処理」の2つを書きます。

条件分岐の本体

「if(条件式):」と書きます。条件式には、「True」か「False」の真偽値が入るか、もしくは真偽値に化ける式が入ります。

例えば、「sprite.is_keypressed(‘space’)」という式は、スペースキーが押されれば「True」に、そうでなければ「False」に化けます。

対象の処理

ポイントは、以下です。

  1. 改行する
  2. 「Tab」キーを押して、先頭をずらす(インデントする、といいます)

インデントすることで、その処理が条件分岐の対象であることが分かります。

処理の流れ

「条件分岐の本体」の「条件式」が「True」なら、その中の処理が実行される、そうでなければ(「False」なら)実行されない、という流れになります。以下に、図解します。

次に、具体的な書き方を見ていきましょう。

もし~なら

if (条件式):○○

意味

もし条件式がTrueなら、指定の処理を実行する

ブロック

以下のブロックと同じ動きです。

練習

ここでは、実行結果が確認できるように、音「meow」を鳴らします。また、プログラムが続くように、「ずっと」の中に入れて実行します。

mBlockに以下のコードを入れて、実行してみましょう。

while True:
  if sprite.is_keypressed('space'):
    sprite.play_until_done('meow')
実行結果

スペースキーを押したときに、音「meow」が鳴りました。

もし~なら、そうでなければ

if (条件式): A else: B

意味

もし条件式がTrueなら、Aの処理を実行する、そうでなければBの処理を実行する

ブロック

以下のブロックと同じ動きです。

練習

mBlockに以下のコードを入れて、実行してみましょう。

(音「Coin」を追加しておいてください。)

while True:
  if sprite.is_keypressed('space'):
    sprite.play_until_done('meow')

  else:
    sprite.play_until_done('Coin')
実行結果

スペースキーを押したときに、音「meow」が鳴り、何もしていないと音「Coin」が鳴りました。

条件式に入るもの

上記では、「sprite.is_keypressed(‘space’)」(スペースキーが押されたとき)を紹介しましたが、他にも真偽値に化けるものであれば、何でも入れられます。

「5 > 3」のような比較演算の式も、答えが「True」「false」になる真偽値なので、可能です。

ここでは、ゲーム作成と相性の良い「〇キーが押されたら」のいろんなパターンを紹介します。

コード
「上」キーが押されたときsprite.is_keypressed(‘up arrow’)
「下」キーが押されたときsprite.is_keypressed(‘down arrow’)
「右」キーが押されたときsprite.is_keypressed(‘right arrow’)
「左」キーが押されたときsprite.is_keypressed(‘left arrow’)
「A」キーが押されたときsprite.is_keypressed(‘a’)
「S」キーが押されたときsprite.is_keypressed(‘s’)
端に触れたときsprite.touching(‘edge’)
あるスプライトに触れたときsprite.touching(スプライト名)

まとめ

以上になります。今回は、条件分岐について扱いました。

実際にコードを打ち込んで試していくと、コーディングを自然に覚えられます。

タイトルとURLをコピーしました