準備をしよう
下のURLをクリックして、mBlockを開いてください。
https://ide.mblock.cc/
学習内容
書き方
「条件分岐の本体」と「対象の処理」の2つを書きます。
条件分岐の本体
「if(条件式):」と書きます。条件式には、「True」か「False」の真偽値が入るか、もしくは真偽値に化ける式が入ります。
例えば、「sprite.is_keypressed(‘space’)」という式は、スペースキーが押されれば「True」に、そうでなければ「False」に化けます。
対象の処理
ポイントは、以下です。
- 改行する
- 「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(スプライト名) |
まとめ
以上になります。今回は、条件分岐について扱いました。
実際にコードを打ち込んで試していくと、コーディングを自然に覚えられます。