このページの本文へ

前へ 1 2 3 次へ

Hour of Codeで学ぶプログラミング基礎の基礎第3回

if文による条件分岐を学ぶ

Minecraftで始めるプログラミング【分岐処理編】

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( );」が書かれており、溶岩の場合には丸石を置いてから実行され、そうでない場合にはそのまま前進することがわかります。

 「続行」ボタンをタップして次のパズルに進みましょう。

前へ 1 2 3 次へ

この連載の記事

ASCII倶楽部の新着記事

会員専用動画の紹介も!