広告
プログラミングって難しい!?
そんな事はありません!
Scratch(スクラッチ)を使えばカワイイキャラクター達と一緒にブロックを組み合わせるだけで簡単にプログラミングのキホンを学ぶことができます!
インターネットにつながるパソコンがあればすぐに始められますので「プログラミング授業の参考にしたい!」「まずは軽いプログラミングに触れてみたい!」などなどぜひ当サイトをご利用ください。
今回は今までに学んだ事の復習もかねてとても簡単な「りんご拾いゲーム」を作りたいと思います。
3つのりんごを決まった場所に置いて、矢印キーでネコちゃんを移動、3つのりんごを全部拾ったらクリアという感じでいきたいと思います。
作る順番としては
1・背景、スプライトを追加
2・旗が押されたときにそれぞれを初期位置に配置
3・矢印キーでネコちゃんを移動
4・ネコちゃんとりんごの当たり判定
5・クリア判定
だいたいこんな順番で作っていきたいと思います。
まずは適当な背景とりんごを3つ追加します。
背景・スプライトの追加のやり方は6日目に学びましたね!
忘れちゃったという方は復習しましょう。
背景とりんごを3つを追加しました。
「旗が押されたとき」に初期位置に配置します。
実行結果
とりあえずこんな感じで配置したいと思います。
矢印キーでネコちゃんを移動させます。
今まで通りの移動でも良いですが、せっかくなので7日目に学んだ「もし~なら」ブロックを使って「ネコちゃんが画面の外にはみ出さないように」という処理も加えましょう。
右に移動する時
「画面の外にはみ出さないようにする」のでネコちゃんの「x座標」が画面の外にはみ出さない場所にある間だけ「右向き矢印」で移動するというようにプログラミングすればネコちゃんがはみ出さずにすみます。
「実行結果画面」のネコちゃんを直接動かしてはみ出さない場所を確かめて残りの「上・下・左」も同じようにプログラミングしましょう。
上向き矢印:y座標 < 130
下向き矢印:y座標 > -130
右向き矢印:x座標 < 200
左向き矢印:x座標 > -200
だいたいこの間にあれば大丈夫そうです。
実行してみると・・・、
ネコちゃんが画面の端で止まりました!
次は当たり判定です。
8日目に学んだ当たり判定とメッセージを使って「ネコちゃんがりんごにぶつかったらりんごを隠す」というトコロまでを作ってみましょう。
「もし~なら」ブロックと「~に触れた」ブロックを組み合わせて「もし~に触れたなら」というブロックを作ってりんごを一つ一つ当てはめます。
「触れた」ときに「メッセージ」を送ってその時にぶつかったりんごを隠します。
「新しいメッセージ」でメッセージの種類を増やす事ができるので、それぞれのりんご用のメッセージを作りましょう。
ひとまず
Apple・・・メッセージ1
Apple2・・・メッセージ2
Apple3・・・メッセージ3
みたいにしてみました。
どのりんごに触れるかはわからないので動くたびにすべてのりんごに対して判定しているトコロがポイントです。
ゲームを再開する時にりんごが隠れたままにならないように、りんごのプログラムの「旗が押されたとき」に「表示する」ブロックも加えましょう。
それでは実行してみます。
りんごが無事消えました!
なにやら大変な当たり判定ですが、この後に学ぶ「繰り返し」や「クローン」などのワザを使えるようになるともう少しシンプルに当たり判定などもできるようになりますのでご安心ください。
広告
最後にクリア判定です。
今回のクリア条件は「画面上のすべてのりんごがなくなった時にクリア」ですね。
いくつかやり方があると思いますが、今回はそれぞれのりんご用に変数を用意してその変数の内容でそのりんごがまだあるのか?ないのか?を判断して「すべてのりんごがなくなった時」という判定をしたいと思います。
まずはりんごの数だけ「すべてのスプライト」用で変数を用意しましょう。
りんごは3つなので変数も3つですね。(説明の為に画面に表示しておりますが、遊ぶ時はジャマなので変数表示のチェックを外して隠してしまいましょう!)
名前はなんでもいいですが、自分でどのりんごの変数なのかわかりやすいように名前をつけましょう。
今回はスプライト名と同じ「Apple」・「Apple2」・「Apple3」という名前にしてみました。
「すべてのスプライト」用にする事でネコちゃん・背景・りんご、すべてのプログラムからこの変数をいじる事ができます。
次に変数の内容ですが、ここでは仮に
変数の内容が「0」・・・りんごがまだある
変数の内容が「1」・・・りんごがもうない
という設定でいきます。
それではプログラミングしていきましょう。
まず「旗が押されたとき」に初期位置の設定と一緒に「りんごがまだあるか?ないか?変数」の設定も行います。
初期設定ではもちろん「りんごはまだある」ので変数の内容は「0」ですね!
他のりんごも同じようにプログラミングしましょう。
次はりんごとネコちゃんがぶつかった時にそのりんごの「まだあるか?ないか?変数」の内容を「1」にします。
ここはなんとなく想像がつくかもですが、りんごを隠す時に一緒に変数の内容を「1」にしてあげるだけです。
これでりんごがまだあるのか?もうないのか?を変数の内容で判断する事ができますね!
あとはすべての変数が「1」の時にゲーム終了の合図をするだけです。
ここではまとめてネコちゃんのプログラムで判定してゲーム終了時に「おしまい!」と言わせてみましょう。
まずはりんごとネコちゃんがぶつかった時のプログラムに「新しいメッセージ」を加えます。
他のりんごも同じメッセージで大丈夫です。
これでりんごとネコちゃんがぶつかった時に合図ができるので、ネコちゃんのプログラムで受け取ってクリア判定をします。
クリア条件は「すべての変数が「1」の時」なので条件を重ねる「かつ」ブロックを使って「もし変数Apple=1 かつ 変数Apple=2 かつ 変数Apple=3ならば」みたいなブロックを作っていきます。
こんな感じですね!
「かつ」ブロックを使えば複数の条件を重ねる事ができます。
それでは実行してみましょう!
クリア判定できました!
それでは遊んでみましょう!
ゲームスタート!
ネコちゃんを移動して・・・、
りんごを拾って
すべてのりんごがなくなればクリア
全体のプログラムになります!
まだまだできる事は少ないですが、ここまでに学んだ事だけでもクイズゲームやじゃんけんゲームみたいなミニゲームは作れますのでいろいろと工夫してみてください。
次回はいよいよ繰り返しの命令に入ります!
広告
Copyright 2016 K.N/petitetech.com