プログラミングの「命令」「変数」「繰り返し」「イベント」って何?→初心者でもMinecraftなら理解できる!:マイクラで始めるプログラミング入門(3)(2/2 ページ)
本連載では、子どもたちに大人気のゲーム「Minecraft」を題材にYouTube実況動画付きで「プログラミング」を学んでいく。今回は、Minecraftのブロックを10段積み上げる/消すサンプルから、プログラミングの「命令」「変数」「繰り返し」「イベント」などを学ぼう。
命令を指定した回数「繰り返す」
手順6では、「ブロックを配置する」「1秒待つ」「mcpiYを1ずつ変える」という3つの命令を10回「繰り返す」命令をしている。「mcpiY」つまり、ブロックの高さを1ずつ増やすことで、上に積むことができるのだ。このように、プログラミングでは、同じ命令を10個配置するのではなく、まとめて「10回繰り返す」命令で実行させることで、命令を配置する行為を省略できるのだ。この「繰り返し」はプログラミングの醍醐味(だいごみ)の一つといえるだろう。
なおブロックを積み上げる段数は、「100」でも「200」でも指定することができるが、いくら多く指定しても、Minecraft Piで積み上げることができるブロックの数は、63個までしか積み上げることはできない。y座標が63までの固定になっているのだ。
【応用】ブロックの塔を消していくプログラミング
次に、先ほど作ったブロックの塔を下から順番に消していくプログラミングを解説する。その手順を紹介したのが動画2だ。
【応用1】ブロックの塔を下から順番に消していく
ブロックを下から順番に消していくには、手順4のblockTypeIdに「0(空気)」を指定するだけで、ブロックが消えていく(図2)「空気」は無色透明な存在だから、ブロックが消えていくことになる。
【応用2】プログラムをまとめてコピーすることで、塔を3個に増やす
さらに、各種ブロックの塔を、X軸を変化させて、10段までの塔を3個積み上げ、各塔を下から順番に消していく処理も解説をする。命令の固まり(プログラム)をまとめてコピーすることで、簡単に増やすことができるのだ。このプログラムのコピーができることもプログラミングの醍醐味の一つだろう。
3個の塔をブロックで積み上げるには、Minecraft Piのx座標の値(mcpiX)を変えてやることで、右に整列した塔を組み立てることができる。これら3個の塔を作成していく場合には、作成していく時間の値も変えてみた。
次回は、さらにさまざまなプログラミングの手法をMinecraftで解説する
以上が、Scratch2MCPIからMinecraft Piにブロックの塔を作成して、消していくプログラミングの解説だ。大変に簡単なプログラムではあったが、塔を消していくのに、無色透明の「空気」を指定していく方法は、なかなか珍しい手法だと思った。
今回のようなプログラムを、一から「コード」(文字の命令)で実装するには、結構学習の時間を要するのではないだろうか。Scratchのような「ビジュアルプログラミング言語」が出現する以前、プログラミングでは文字の命令を書いてコンピュータに実行させるのが、普通だった。しかし、そうなると見た目の変化が少なく飽きてしまうので、プログラミングのハードルを上げていたのではないだろうか。
そう考えると、マウスの操作だけで直感的にプログラミングができて、しかもその結果がすぐに画面に表れる「ビジュアルプログラミング言語」はプログラミングを学ぶ入り口としてよくできていると思う。
次回は、「Minecraft Piにいろいろな壁を作成する」方法など、さらにさまざまなプログラミングの手法を解説するので、お楽しみに。
参考書籍
- 『Raspberry Piではじめるどきどきプログラミング』(阿部和広/石原淳也/塩野禎隆 著、日経BP刊)
著者紹介
薬師寺 国安(やくしじ くにやす) / 薬師寺国安事務所
薬師寺国安事務所代表。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)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 子どもにプログラムの手順だけでなく概念を伝えたい
子ども向けプログラミング環境「Scratch」を学ぶ小学生が増えている。ものづくり寺子屋&きょーくりっの共同授業をレポートする。 - アプリは、どうやって動くの? プログラムって何?――初めてiPhoneアプリを作る人向け基礎知識まとめ
本連載では、これからプログラミングやiPhoneアプリ開発を始めてみたい方を対象に、開発に必要な知識を基礎から解説していきます。 - 「プログラマーって何するのが仕事なの?」と聞かれたときや、初心者がプログラミングを学ぶ前に読んでほしいマンガ「じゃまめくん」とは
人気過去連載を一冊に再編集して無料ダウンロード提供する@IT eBookシリーズ。Vol.6は、プログラミング初心者が、プログラミングを学ぶ前に読んでほしいマンガ連載『オブジェマンガ じゃまめくん』だ。 - 初めてUnityを触る人が無料で使い方を学べる日本語チュートリアルを全317ページ、59のサンプル動画で電子書籍本としてまとめました
人気過去連載を一冊に再編集して無料ダウンロード提供する@IT eBookシリーズ。Vol.8は、『ゲーム開発初心者のためのUnity入門』だ。 - Excelでプログラム作成を始めるメリットとマクロの基本
プログラミング初心者を対象にExcelマクロ/VBAを使った業務自動化プログラムの作り方を一から解説します。初回は、そもそもプログラミングとは何か、Visual BasicとVBAとマクロの違い、マクロの作り方、保存/削除、セキュリティ設定などについて【Windows 10、Excel 2016に対応】。