Scratch(スクラッチ) 難易度★★⭐︎⭐︎⭐︎

Scratch簡単ゲーム作り - もぐらたたき(基本)

 

Scratch(スクラッチ)を使った簡単ゲーム作りの第2弾は、モグラタタキです。

 

(前回記事はこちら)

Scratchで音楽! - 木琴編(初心者or親子むけ)

  今回はScratch(スクラッチ)を使ったゲーム作りの第1弾として、木琴で音楽をかなでる方法をご紹介します。 やり方としては1つだけスプライトを作ってプログラミングしてしまえば、あとはコ ...

続きを見る

(スクラッチの始め方や使い方についてはこちら)

プログラミング学習はスクラッチから!だれでも簡単・使い方入門

  プログラミング学習を始める入り口として最適なScratch(スクラッチ)の始め方や基本操作を解説します。 小中学生のお子さんを持つご両親はもちろん、プログラミング初心者の方にもオススメで ...

続きを見る

 

ゲームの定番としてあるモグラタタキですが、スクラッチを使えばそれほど難しいことをせずに自作することができます。

プログラミングやスクラッチを始めたばかりの方や、プログラミング必修化に向けた家庭学習を考えている親子の方々に楽しくプログラミングを学んで欲しいという思いで紹介します!

この記事ではただ作るだけでなくミニ課題をはさみながら進めるので、ゲームを作りながらプログラミングの基本事項を学ぶことができます。

それではさっそく始めるニャア!

 

まずは遊んでみてください

なにはともあれ、まずはニャアの作成したモグラタタキゲームをプレイしてもらって、作るもののイメージを明確にしてもらいたいと思います。

一目でお分かりのように、叩く対象はタコにしました。

対象は何であれゲームの原理はモグラタタキなので、背景もキャラクターも好きなように変えてみてください。

 

メインステージとモグラを作る

ではさっそく、メインステージからひとつずつ作っていきましょう。

 

背景と隠れるところを設定

まずは背景を設定します。

ポイント

  • スクラッチ画面の一番右下にある「背景を選ぶ」をクリック
  • 「Underwater2」を選ぶ

  • 「スプライトを選ぶ」をクリック
  • 「Rocks」を選んで好きな場所に配置する

  •  Rocksのスクリプトに「最前面へ移動」を追加する

 

モグラが現れたり消えたりする動きを作る

次にモグラタタキのモグラの動きを作ります。

ここではタコだけどニャア

岩の後ろから出てくるようにするので、タコの位置や大きさを調整して隠れられるようにします。

 

ポイント

  • 「スプライトを選ぶ」から「Octopus」を選び、大きさを「80%」に調整する
    ※スクリプトに入れなくても「コード」の場所で80%に設定しクリックするだけでOK

  • 「Octopus」が岩から出てくる時の位置を決める
    ※スプライトがある位置の座標が表示されているので、それを使って細かい位置設定ができる

  • 「Octopus」がどこまで出るかを決め、「1秒でX座標を○,Y座標を○に変える」で指定のX座標とY座標に移動するようにする
  • 「Octopus」が元の位置に戻ると消えるようにする→「隠す」を追加する
  • スクリプトの最初に「表示する」を入れる

  • 「ずっと」を入れるのも忘れずに
  • 最後に「2秒待つ」を入れる

 

岩のうしろからタコが出てきたり消えたりするようになりましたか?

ここでニャアの課題です。

ニャアの課題①

  1. 「1秒X座標を○,Y座標を○に変えるの秒数を変えると、どんな動きになるかな?まずは予想を立ててから、実際にやってみましょう。

 

変数を作ってみよう

次にプログラミングでとっても重要な「変数」を使ってみましょう。

具体的には、ゲームの制限時間スコアに使用します。

制限時間とスコアのスクリプトは、背景に設定します。

背景にもスクリプトを設定できるの知ってたかニャア?

 

制限時間(30秒)を作る

ポイント

  • 「背景」をクリックし、スクリプト画面にする

  • 「変数を作る」をクリックし「TIME」という名前で変数を作る

  • 「TIMEを30にする」をスクリプトに追加する
  • 「TIMEを-1ずつ変える」をスクリプトに追加する

これでスタートを押してみましょう。

TIMEが1秒ずつ減っていくかニャア?

 

……

なんだかものすごい勢いで減っていくニャア!

そうです。

-1ずつ変えると設定しましたが、「-1」は「1秒」という意味ではないのです。

ではここに何を追加すれば、1秒ごとに減るようになるでしょうか?

 

ハイ、答えはこちらです!

重要ポイント!

  • 「1秒待つ」をスクリプトに追加する

「1秒待つ」を加えることによって”1秒待ってからTIMEを-1変える”ため、結果的に1秒ごとにTIMEが減ることになります。

 

モグラを叩くとスコアが入るようにする

続いてスコアも変数で設定し、モグラ(タコ)を叩くごとにスコアが入るようにします。

TIMEと同じく背景のスクリプトに追加します。

ポイント

  • 「変数を作る」をクリックし「スコア」という名前で変数を作る
  • 「スコアを0にする」をスクリプトに追加する

↓ここからはモグラが叩かれた時の設定になるので、
「Octopus」のスプライトに戻ります。↓

  • 「このスプライトが押されたとき」をスクリプトに追加する
  • 「スコアを1ずつ変える」をスクリプトに追加する

試しにスタートしてタコを叩いてみると、スコアが変わるのがわかるはずです!

スコアが2ずつ変わるようにしても良いニャア

 

乱数を使ってゲームを難しくしよう

変数の次は「乱数」をやってみます。

乱数とはその名の通り、ランダムな数字です。

たとえば「1〜10までの乱数」とすると、コンピュータが1〜10までの数字をランダムで呼び出します。

いまモグラは規則的な動きをしていてゲームとしては物足りないので、この動きを乱数によって不規則的にしたいと思います!

ポイント

  • 「演算」→「1から10までの乱数」を見つける

  • Octopusのスクリプトの「1秒待つ」の「1」のところに入れる
  • 好みで乱数を変えてみる(例) 1〜3, 1〜5など

また、同じくOctopusの「1秒でX座標○,Y座標○に変える」の「1秒」に乱数を入れても変化が出るのでやってみてください。

たとえばこのような感じだニャア!

 

 

モグラの数を増やす

さて、ここまででモグラタタキゲームの基本ができあがりました!

しかしまだモグラが1匹だけなので、3匹くらいに増やしましょう。

これはコピー&調整で簡単にできます。

ポイント

  • 「Rocks」スプライトを右クリック→「複製」でコピーする
  • 「Octopus」スプライトも同じようにコピーする

  • 「Rocks2」と「Octopus2」の位置を整える

 

Octopus2の動きはOctopus1と同じになっているので、座標を変える必要があります。

座標の見方を覚えているかニャア?

参考までに、ニャアはこのように変更してみました。

乱数もOctopusごとに変えてみると動きが変わって面白くなります!

 

ニャアの課題②

  1. モグラをもう1匹追加して、全部で3匹のモグラタタキにしてみましょう。
  2. それぞれのモグラで動きを変えたりスコアを変えたりしてゲームを面白くしましょう。

 

制限時間がきたら終わるようにする

もう気づいている方もいるかもしれませんが、現時点では制限時間が終わってもそのまま続くようになっています。

TIMEがマイナスになってしまうんだニャア

これではいつまでもゲームが終わらないので、最後に終わらせるプログラムを作ります。

単純に追加するだけでなく、これまで組み上げてきたスクリプトを一部変更することも必要になるので、じっくり確認しながらやってみてください。

 

メッセージを使いこなす!

プログラムをスタートさせる合図には、

  • スタートが押された時
  • ○キーが押された時
  • スプライトが押された時

などといくつかありますが、その中の「メッセージを受け取った時」を使って、TIME OVERへ繋げたいと思います。

まずは背景スクリプトの準備です!

ポイント

  • 「背景を選ぶ」でTIMEOVER用の画面を選ぶ
    ※ここでは「Rays」にしています

  • 背景のスクリプトに「メッセージ1を受け取った時」を追加する
  • 背景のスクリプトに「背景をRaysにする」をスクリプトに追加する

  • 背景のスクリプトの「スタートボタンが押された時」「背景をUnderwater2にする」を追加する
  • 「ずっと」「< >まで繰り返す」に変更する

TIME=0の作り方

  • 「演算」から「○=○」をスクリプトエリアに持ってくる

  • 「○=○」の左側に変数の「TIME」を入れ、右側に「0」を入力する

  • 「TIME=0」を「< >まで繰り返す」の< >に入れる

  • 「TIME=0まで繰り返す」の後に「メッセージ1を送る」を追加する

これによって、「TIME=0」まで繰り返した後、その後のスクリプトに続くようになります。

これで制限時間が来ると画面が変わるようになりました。

しかしまだタコたちが動いているので、止めなければなりません!

 

モグラの動きを一斉に止める

ポイント

  • 「Octopus」のスクリプトに「メッセージ1を受け取った時」を追加する
  • 「隠す」「すべてを止める」を追加する

  • 「Octopus2」と「Octopus3」にそのスクリプトをコピーする

スクリプトコピーの仕方

スクリプトをコピーしたいスプライトのところへドラッグ&ドロップすればコピー完了!

  • 「Rocks」のスクリプトに「メッセージ1を受け取った時」を追加する
  • 「隠す」を追加する

  • 「Rocks2」と「Rocks3」にそのスクリプトをコピーする
  • 「スタートが押された時」の後に「表示する」を追加する

  • 「Rocks2」と「Rocks3」の「スタートが押された時」にも「表示する」を追加する

 

TIMEOVERと書いてみる

そしてTIMEOVERの画面が終わりだと分かるように、背景に「TIMEOVER」の文字を追加してみたいと思います。

ポイント

  • 右側の「背景」をクリック

  • 左側の「背景タブ」をクリック

  • (テキスト)をクリックしたら文字を入れたい場所をクリックする
  • 「TIME OVER」と打ち込む

  • (矢印マーク)にし、好きな大きさに調整する

  • のメニューでフォントを変えてみる

 

これでTIMEOVERの画面ができました!

 

これでモグラタタキのゲームが完成です!

おつかれさまニャア

 

ここまでの作り方を動画にしたので、おさらいにどうぞ。

 

 

音や効果などを追加してみる

そのほか、音や効果を追加したりスタート画面を追加したりするなどしてよりゲームらしく整えることもできます。

叩かれた時に音が出ると良いニャア!

今回の記事では解説はここまでにしますが、発展のさせ方はニャア作成のモグラタタキゲームを参考にしてもらえればと思います。

こちらからスクラッチサイトで共有しているニャアのプログラムページを開き、「中を見る」でプログラムの詳細を見ることができます。

 

 

(追記)発展編のブログもまとめました。こちらからどうぞ!

Scratch簡単ゲーム作り - もぐらたたき(発展)

  前回記事のScratchを使ったゲーム作り「もぐらたたき編(基本)」はもう見て頂けましたか?   今回はそれをもう少し発展させて、ゲームとしての面白さや深みを増すことをしてみた ...

続きを見る

 

家庭学習のポイント

スクラッチを使えばこのようなゲームも簡単にでき、プログラミング自体もゲーム感覚で学ぶことができるので、初心者や子供のプログラミング学習にかなりオススメです!

プログラミング教育必修化に向けてご家庭で準備をしたい方も多いと思うので、親子の家庭学習のポイントをまとめました。

ニャアが行ってきた児童教育やプログラミング教育の経験を存分に盛り込んだので、参考にしてもらえると嬉しいです。

 

 

ごきげんよう

 

-Scratch(スクラッチ), 難易度★★⭐︎⭐︎⭐︎
-, , ,

error: Content is protected !!

© 2024 ニャアのスクラッチ Powered by AFFINGER5