Scratch(スクラッチ)で簡単なゲームを作ってみました

manabyではオンライン学習コンテンツがあります。
その中に「Scratch(スクラッチ)」がありましたので、マイコンボードをScratchで制御する前に、学習してみることにしました。そのコンテンツを参考に作ったゲームがこちらです。

(※音が出ます)
元々はランダムに表示されたキャラクター(Scratchではスプライトと呼びます)をクリックすると点数が加算されていくものでしたが、ゲーム性に欠けるため自分なりにアレンジしてみました。

表示するキャラクターは初期設定の猫のままにしました。音声も「ニャー」のままです。BGMは「Drum Satellite」にしました。音の長さが2秒ありましたので、鳴り終わるまで2秒待つ命令を追加しました。

まずはランダムに表示されるだけでは単調なため、点数が増えるとキャラクターの表示時間を短くし、難易度を上げてみました。

変数scoreが0以上50以下の時は表示時間を1.5秒に設定しました。
scoreが50より大きく100以下の時は1秒、
scoreが100より大きく200以下の時は0.75秒、
scoreが200より大きい場合は0.5秒にしました。

これらの条件をコードに書き加えていきます。
せっかくですので、クリックの難易度によって得られる点数も変えてみることにしました。条件は以下の通りです。

変数scoreが0以上50以下の時はscoreを+5に設定しました。
scoreが50より大きく100以下の時はscoreを+10、
scoreが100より大きく200以下の時はscoreを+20、
scoreが200より大きい場合はscoreを+50にしました。

こちらもコードに書き加えていきます。

とりあえず動かしてみることにします。
得点が増えるごとに表示時間が短くなり、難易度が上がると得られる得点も増えるようになりました。

(※音が出ます)
ただ、0.5秒ではクリックが難しすぎたので、表示時間を少し長くしました。
また、ゲームが延々と続いてしまうのでゲームの終わりを設定してみたいと思います。ずっと繰り返す処理をする部分を、回数制限を設けてみました。とりあえず100回繰り返し猫をランダムに表示し、プログラムを停止させることにします。

このままでは背景(ステージ)に設定したBGMは止まりませんので、変数countを設定して回数を数え、BGMのコードにも変数を渡して100回繰り返したらプログラムが止まる処理を追加します。
コードを追加するとこのようになります。また、得点が200からの表示時間は0.55秒にしました。

(※音が出ます)
ゲームがピタッと止まってしまうのは物悲しいので、ゲーム終了の音楽を加えることにしました。せっかくですので、一定の点数以上ならば勝ちで「Win」のメロディ、それ以下なら負けで「Lose」のメロディを流すようにしたいと思います。
変数scoreが500以上で分岐するようにしました。それぞれの音が鳴り終わるまで待つ処理も追加してあります。
また、BGMが鳴り終わるまで若干のタイムラグがありますので、終了の音楽が鳴る前に0.5秒待つようにしました。

さらに、変数countで回数を数えていますので、ゲーム終了間際にBGMのテンポを上げてみることにしました。countが60より大きければピッチを上げるようにしました。

また、100回では少し長すぎるようですので、繰り返し処理を75回に変更しました。以上の修正を加えたものがこちらになります。

(※音が出ます)
いかがでしたでしょうか。だいぶゲームらしくなったと思います。キャラクターや音楽も簡単に変更できますので、皆さんもぜひ作って遊んでみてください。

完成したゲームはこちらです。https://www.dropbox.com/s/6b87e3bhs8v138k/meow.sb3?dl=0
Dropboxにはログインしなくてもダウンロード可能です。

一旦パソコンにダウンロードして任意の場所に保存し、 Scratch(スクラッチ)のホームページの「作る」から「ファイル」→「コンピュータから読み込む」でダウンロードしたファイルを選択します。
右上の緑色の旗をクリックするとゲームが始まります。
チュートリアルは×印で閉じてしまって大丈夫です。

  • 0
  • 0
  • 0
Laffey(ラフェィ)

Laffey(ラフェィ)

色々な物を作って記事にしています

作者のページを見る

この記事も読まれています