Hour of Codeで学ぶプログラミング基礎の基礎 第3回
if文による条件分岐を学ぶ
Minecraftで始めるプログラミング【分岐処理編】 (1/3)
2016年08月27日 17時00分更新
前回は、少しプログラミングの世界に踏み込んで繰り返しの処理について触れました。今回は、さらに踏み込んで条件による分岐処理を解説していきます。パズル11を始める前に、if文についてXboxで働くジャスミンさんが解説してくれます。if文は、コンピューターが決定を下すのに役立つ命令なのでひととおりチェックしておきましょう。
目次
パズル11:溶岩が前方に隠れていたら丸石を置く
パズル11では、ブロックを壊して溶岩が出てきたら「if」コマンドを使い、ブロックでフタして掘り進めていきます。
最初からブロックが用意されていますので、「まえにすすむ」をどこに入れるかを考えます。
まずは「</>コードの表示」ボタンをタップして「if」コマンドがどのように記述されているのかチェックしましょう。全体がfor文で囲われていることがわかりますね。「前方に溶岩がある場合やること」ブロックにあたるのが「ifLavaAhead( function( ){ (条件に合う時にしたい処理)) } );」の部分で、「前方に溶岩がある場合」までが「ifLavaAhead( );」、「やること」が「function( ){ (条件に合うときに実行したい処理)) }」となっています。
今回は、条件に合うときに実行したい処理が「置く丸石前方」のため、「placeBlockAhead("cobblestone");」となっています。「if」コマンドは、一般にif文と呼ばれ、条件に合う場合に処理を実行し、そうでない場合にはif文の処理を終了して次の行に移ります。
とりあえず、「まえにすすむ」を「ブロックを破壊」の下に入れてみました。
「実行」ボタンをタップすると、前方のブロック(岩)を破壊したあと、溶岩の中に落っこちてしまいます。
前方に溶岩があるときは前進する前に丸石を置く必要があるので、「まえにすすむ」を入れる場所を間違っていることがわかります。
次は、「まえにすすむ」を「置く丸石前方」の下に入れてみました。
「実行」ボタンをタップしてみます。最初のブロックを破壊し、溶岩に丸石を置いて前進できました。
しかし、次のブロックを破壊しても前進せず、クリアできません。これは、「まえにすすむ」ブロックが「前方に溶岩がある場合やること」の中にあり、前方が溶岩でないため前進できないことが原因です。
今度は、「まえにすすむ」を「前方に溶岩がある場合やること」の下に入れてみました。
「実行」ボタンをタップしてみます。2つ目のブロックを破壊したあとも順調に前進し、溶岩が前方にある場合には丸石を置き、無事に7回繰り返すことができました。
これでパズル11をクリアしました!
「コードを表示します。」をタップすると、if文が終了した次の行に「まえにすすむ」を表す「moveForward( );」が書かれており、溶岩の場合には丸石を置いてから実行され、そうでない場合にはそのまま前進することがわかります。
「続行」ボタンをタップして次のパズルに進みましょう。
この連載の記事
- 第24回 Minecraftで関数使ったプログラミングに挑戦!
- 第23回 Minecraftで「エージェント」を使ったプログラミングを学ぶ
- 第22回 Swift言語で独自の関数を定義してその役割を学ぶ
- 第21回 iPad上でSwift言語を使ってキャラクターの動きを学ぶ
- 第20回 Minecraft上でアイアンゴーレムやゾンビ操るプログラミング
- 第19回 Minecraft上でニワトリや牛を動かすプログラミング
- 第18回 映画「モアナと伝説の海」のカカモラ戦士の踊りをプログラミング
- 第17回 映画「モアナと伝説の海」のモアナとカカモラの海賊を倒すプログラミング
- 第16回 映画「モアナと伝説の海」のモアナと海賊カカモラの船に近づくプログラミング
- 第15回 映画「モアナと伝説の海」のモアナと魚を捕まえるプログラミング
- この連載の一覧へ