始める小学生からのプログラミング小学生がスクラッチプログラミングでもぐらたたきゲームを作る7つのステップはじめにみなさま、こんにちは。内でもぐらたたきゲームを作る記事にインスパイヤされて、スクラッチでもぐらたたきゲームをつくってみることにしました。もぐらたたきゲームもぐらたたきゲームは、もともとのゲームは穴が幾つか用意されていて、穴の中からモグラが出てくるのをハンマーで叩くゲームです。多くのモグラをたたいて得点が高いほうが勝ちということになります。今回はスクラッチで作る都合上、幾つかの設定を考えます。設定1:リアルなもぐらたたきは穴を用意するのですが、特に穴は関係なく、キャラクタがどこからでも出てくるようにします設定2:叩くのはマウスのクリックとします。絵でハンマーを作ってアニメーションさせてもいいのですが、少々難易度が上がるので小学生が作る想定でマウスクリックとして単純にします。設定3:制限時間を設けます。リアルなもぐらたたきも1分間など決まった時間があるのと同じです。設定4:複数のキャラクタを同時に出します。背景を決める背景を先ずは決めます。これはどの背景でも良いのでお好きなものにしてください。リアルなもぐらたたきを追求する場合は、モグラの穴を絵で書いて背景とすると良いでしょう。私はとりあえずグランドにしました。背景のいれ方は過去の記事を参照していただければと思います。キャラクタを選ぶこれもお好きなキャラクタを入れていただいて結構です。スクラッチキャットとサルにしました。キャラクタの追加方法は過去の記事を参照していただければと思います。変数「スコア」、変数「タイム」を作るスコアは得点を管理するための変数、タイムは残り時間を管理するための変数です。データのところにある「変数を作る」ボタンをおして、変数を作成してください。変数作成の際には、すべてのスプライト用にしてください。変数の作成方法に関しても過去記事が便利です。初期化処理を入れるどのようなプログラムを作るときも同じですが、初期化処理を必ず入れてください。初期化とは変数に最初の値を書き込むことです。今回作った変数「スコア」、「タイム」ならびに、キャラクタの最初の位置(これも実際は変数と同じです。今回のプログラムに関して言えば、初期値(最初の値)は次のとおりです。(1分間とします)キャラクタの位置:中央付近。これは厳密ではありませんが、図に出ている位置を初期値としました。y:27)初期化処理は、イベント「緑のはたがクリックされたとき」を使い、それぞれの値を設定してください。タイマーとスコアはどのキャラクタでも設定可能ですが、今回は背景の部分で設定することにします。次のようにそれぞれの値を設定します。モグラの動きを作る次にモグラとなるネコとサルの動きを作ります。予測できる動きだとおもしろくないので、予測しづらい動きをさせたいところです。x座標とy座標の値をそれぞれ乱数で変更してあげることで不規則に出現することになります。ちなみに、幅いっぱい使うのであれば、乱数を使わなくても「ランダムな場所へ行く」というブロックで同じ動きになります。移動させる部分はこれで良いですが、いきなり出てきてパッと消えるようにするために、待ち時間を調整します。最初にキャラクタを登場させたときに少し台詞を入れてあげることにします。ネコとサルのプログラムをそれぞれ次のようにしました。待ち時間を少し変えているのがミソです。もぐらたたきの機能を作るさあ、次はもぐらたたきをした時の動作を作ります。叩く動作はクリックとしましたので、クリックされたときの動作をプログラムしていけばいいことになります。クリックされたときに、スコアを増やし、効果音を出すようにしました。プログラムは次のような形です。タイマーを作る一応、ステップ6まででもゲームらしくなっているのですが、ステップ7で時間を測る部分を入れたいと思います。スクラッチにはタイマーがあるのですが、タイマーはカウントアップしていくだけの機能で、カウントダウン(数を少なくしていく)機能はありません。そこで変数「タイム」を使ってカウントダウンをするようにします。ゲームオーバー画面を出すこれで終わってもいいのですが、おまけでゲームオーバー画面を作ります。キャラクタに手書きでゲームオーバーと書いたものを用意します。先程作ったタイマーの処理の部分の終わりで音を鳴らす箇所に、メッセージを送信するブロックを追加します。メッセージを受けたら、ゲームオーバーと表示するように変更します。これと同じタイミングで、キャラクタの表示を隠す処理もいれます。これは、キャラクタが出ている状態で停止すると、キャラクタをクリックしていくらでも得点できてしまうのを防ぐのが目的です。プログラムを次のように変えます。ゲームオーバーに処理を追加[/caption]おわりにいかがでしたでしょうか。実際に遊んでみるとそれなりに楽しめるできになっています。難易度の調整としては、キャラクタの表示されている時間を変更するのが良いかと思います。サルは早すぎるかもしれませんので、お好みの時間を設定していただければより楽しめると思います。対象としたプログラミング&ロボット教室を開校しています。コース概要のページで説明しております。創造性や協調性などこれからの時代に必要となる素養を育てるコースです。ご興味ありましたらぜひお問い合わせください。ワークショップも定期的に開催しています。こちらのワークショップのページにて内容をご確認ください。授業運営パッケージ弊社で実施している授業を取り入れたい方々向けに提供しています。