プログラミングの「命令」「変数」「繰り返し」「イベント」って何?→初心者でもMinecraftなら理解できる!マイクラで始めるプログラミング入門(3)(2/2 ページ)

» 2016年02月15日 05時00分 公開
[薬師寺国安PROJECT KySS]
前のページへ 1|2       

命令を指定した回数「繰り返す」

 手順6では、「ブロックを配置する」「1秒待つ」「mcpiYを1ずつ変える」という3つの命令を10回「繰り返す」命令をしている。「mcpiY」つまり、ブロックの高さを1ずつ増やすことで、上に積むことができるのだ。このように、プログラミングでは、同じ命令を10個配置するのではなく、まとめて「10回繰り返す」命令で実行させることで、命令を配置する行為を省略できるのだ。この「繰り返し」はプログラミングの醍醐味(だいごみ)の一つといえるだろう。

 なおブロックを積み上げる段数は、「100」でも「200」でも指定することができるが、いくら多く指定しても、Minecraft Piで積み上げることができるブロックの数は、63個までしか積み上げることはできない。y座標が63までの固定になっているのだ。

【応用】ブロックの塔を消していくプログラミング

 次に、先ほど作ったブロックの塔を下から順番に消していくプログラミングを解説する。その手順を紹介したのが動画2だ。

動画2 Scratch2MCPIとMinecraft Piを接続して、ブロックの塔を消していくプログラミング

【応用1】ブロックの塔を下から順番に消していく

 ブロックを下から順番に消していくには、手順4のblockTypeIdに「0(空気)」を指定するだけで、ブロックが消えていく(図2)「空気」は無色透明な存在だから、ブロックが消えていくことになる。

図2 ブロックの塔が下から順番に消えていく

【応用2】プログラムをまとめてコピーすることで、塔を3個に増やす

 さらに、各種ブロックの塔を、X軸を変化させて、10段までの塔を3個積み上げ、各塔を下から順番に消していく処理も解説をする。命令の固まり(プログラム)をまとめてコピーすることで、簡単に増やすことができるのだ。このプログラムのコピーができることもプログラミングの醍醐味の一つだろう。

 3個の塔をブロックで積み上げるには、Minecraft Piのx座標の値(mcpiX)を変えてやることで、右に整列した塔を組み立てることができる。これら3個の塔を作成していく場合には、作成していく時間の値も変えてみた。

次回は、さらにさまざまなプログラミングの手法をMinecraftで解説する

 以上が、Scratch2MCPIからMinecraft Piにブロックの塔を作成して、消していくプログラミングの解説だ。大変に簡単なプログラムではあったが、塔を消していくのに、無色透明の「空気」を指定していく方法は、なかなか珍しい手法だと思った。

 今回のようなプログラムを、一から「コード」(文字の命令)で実装するには、結構学習の時間を要するのではないだろうか。Scratchのような「ビジュアルプログラミング言語」が出現する以前、プログラミングでは文字の命令を書いてコンピュータに実行させるのが、普通だった。しかし、そうなると見た目の変化が少なく飽きてしまうので、プログラミングのハードルを上げていたのではないだろうか。

 そう考えると、マウスの操作だけで直感的にプログラミングができて、しかもその結果がすぐに画面に表れる「ビジュアルプログラミング言語」はプログラミングを学ぶ入り口としてよくできていると思う。

 次回は、「Minecraft Piにいろいろな壁を作成する」方法など、さらにさまざまなプログラミングの手法を解説するので、お楽しみに。

参考書籍

著者紹介

薬師寺 国安(やくしじ くにやす) / 薬師寺国安事務所

薬師寺国安事務所代表。Visual Basicプログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。

1950年生まれ。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。

1997年に薬師寺聖とコラボレーション・ユニット「PROJECT KySS」を結成。

2003年よりフリーになり、PROJECT KySSの活動に本格的に参加。.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。

Windows Phoneアプリ開発を経て、現在はWindowsストアアプリを多数公開中。

Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。

Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。

Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。

Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015)。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。