あなたの子どももできる、シューティングゲームやジャンプアニメの簡単な作り方:Scratchで始めるプログラミング教育(4)(3/3 ページ)
ビジュアルプログラミングツールである「Scratch」を使って、プログラミングで何ができるのかを体験してもらう本連載。今回は、キャラからボールを発射するサンプルを作り、キャラが幽霊を撃つシューティングゲームにする。また、自分で新しい命令ブロックを作る方法も紹介する。
「データ」分類の「変数」は「変化する値を入れるための器」
スプライト(Giga)に書く命令は図9のようになる。
今回は「秒数」「count」という2つの「変数」を作っている。「変数」とは、プログラムの実行中に変化する値を入れるための器のようなものだ。例えば、今回でいうと、「count」はBasketballがGoast1に当たった回数をカウントする変数だ。「秒数」は、制限時間60秒が1秒ずつ減っていく様子を表す変数だ。
変数は「データ」分類から作ることができ、ステージの左上に値とともに表れる。
まずは、変数「count」から説明しよう。スプライト(Goast1)に書く命令は図10のようになる。
ボールが幽霊に命中したときに「count」を1ずつプラスしていくことがポイントとなる(図10)。この場合の命令はGoast1内に記述している。赤色(Goast1)が薄茶色(Basketball)に接触したら、BasketballがGoast1に命中したことになるので、「count」を1ずつプラスしている。
次に、変数「秒数」について説明しよう。図10で「秒数」を「60」にセットしていて、これが1秒ずつカウントダウンして「0」になったら、ゲームオーバーになる。「秒数」の値を「-1」ずつ変える命令はスプライト(ステージ)に書いている(図11)。
図9では「count」を「0」にし、図10では「秒数」を「60」にしているのは、先ほど説明した「初期化」だ。ここでは、「変数」を「初期化」していることになる。
変数はプログラミングの中でも初歩的なことだが、理解が難しいかもしれない。今回のように「秒数」「count」のようにゲームを面白くするために必要なこととして子どもたちに教えれば、興味を持って何とか理解してくれるのではないだろうか。
「もし〜なら〜でなければ〜」という「条件分岐」
また図11では、変数「秒数」が「0」になったら、「Giga」に「gameover」というメッセージを送って「すべてを止める」ようにしている。「秒数」が「0」になっていなければ、変数「秒数」の値を「-1」ずつ変えている。
このような「もし〜なら〜でなければ〜」という命令も「制御」分類にあり、前回記事で紹介した「条件分岐」の1つだ。「もし〜なら」との違いを意識してほしい。
「GameOver」のメッセージ
制限時間が切れてゲームオーバーになった際に、「ステージ」からGigaにメッセージを渡している。ステージ(図11参照)から送られた「gameover」というメッセージをGigaが受け取ったとき(図9参照)に「GameOver」とう文字を吹き出しに表している(図12)。
先ほどの「message1を送る」とは異なり、メッセージに名前を付けて分かりやすくしている。
次回は最終回。カメラやマイクでScratchを楽しもう
次回は、いよいよ最終回。カメラやマイクを使ってスプライトを操作する基本的な方法を紹介するので、お楽しみに。
参考書籍
- 『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とScratch2MCPIの基礎知識、インストール方法と簡単な使い方
本連載では、子どもたちに大人気のゲーム「Minecraft」を題材にYouTube実況動画付きで「プログラミング」を学んでいく。今回は、ScratchとScratch2MCPIの概要を紹介し、インストール方法と簡単な使い方をYouTube実況動画で解説する。 - 子どもにプログラムの手順だけでなく概念を伝えたい
子ども向けプログラミング環境「Scratch」を学ぶ小学生が増えている。ものづくり寺子屋&きょーくりっの共同授業をレポートする。 - 「プログラマーって何するのが仕事なの?」と聞かれたときや、初心者がプログラミングを学ぶ前に読んでほしいマンガ「じゃまめくん」とは
人気過去連載を一冊に再編集して無料ダウンロード提供する@IT eBookシリーズ。Vol.6は、プログラミング初心者が、プログラミングを学ぶ前に読んでほしいマンガ連載『オブジェマンガ じゃまめくん』だ。