Scratchでスネークゲームを作ってみよう

どんなゲームを作るのか、まず完成したゲームをみてみましょう。

スネークゲーム

ステップ1 へびを作る

新規プロジェクトを作成し、へびを作ります。

  • スクラッチで「作る」にして、新規のプロジェクトを作ります。

  • プロジェクトの名前を「スネークゲーム(自分の名前)」にします。

  • スプライトの「ねこ」を削除します。

  • スプライトに「ball」を追加し、名前を「へび」に変更します。

  • 「へび」の「コスチューム」を選び、1、2のコスチューム以外を削除します。

  • 1のコスチュームを選び、塗りつぶしの色を明るい緑色に設定し、バケツマークを使って、設定した色に変更し、名前を「あたま」に変更します。

  • 次に2のコスチュームを選び、塗りつぶしの色を青色に設定し、バケツマークを使って、設定した色に変更し、名前を「からだ」に変更します。

これでへびが出来ました。

ステップ2 へびを動かす

作ったへびを動かします。

  • 「へび」の「コード」を開きます。

  • 「緑の旗が押されたとき」

  • 「大きさを(40)%にする」

  • 「コスチュームを(あたま)にする」

  • 「x座標を(0)、y座標を(0)にする」

  • 「ずっと」

    • 「(0.2)秒待つ」

    • 「(20)歩動かす」

Scratchコード

ここまで作ったら、右上を画面で「緑の旗」を押して実行してみましょう。

画面中央に緑色の円が現れ、少しずつ上に上がっていって端に行ったら止まります。

次に、へびをいろいろな方向に動くようにします。

  • 「[上向き矢印]キーが押されたとき」

  • 「(0)度に向ける」

  • 「[下向き矢印]キーが押されたとき」

  • 「(180)度に向ける」

  • 「[右向き矢印]キーが押されたとき」

  • 「(90)度に向ける」

  • 「[左向き矢印]キーが押されたとき」

  • 「(-90)度に向ける」

Scratchコード

この4つを追加したら、右上を画面で「緑の旗」を押して実行してみましょう。

矢印キーを押すと押した方向に緑色の円が動くようになります。

ステップ3 へびを伸ばす

このままでは円が動くだけなので、へびになるように伸ばします。

  • 「ずっと」の「(20)歩動かす」の後に

  • 「(自分自身)のクローンを作る」を追加します。

Scratchコード

右上を画面で「緑の旗」を押して実行してみましょう。

へびがどんどん伸びていきます。

これではへびが伸びすぎなので、長さを制限してみましょう。

  • 「クローンされたとき」

  • 「(1)秒待つ」

  • 「このクローンを削除する」

Scratchコード

右上を画面で「緑の旗」を押して実行してみましょう。

へびの長さが4個になりました。

「(1)秒待つ」の(1)の値を変えると(例えば2にすると)、へびの長さが変わる(2倍の8個になる)ことがわかります。

ステップ4 へびが端に着いたらゲームを終了する

へびが端まで着いたらそこで止まっていますが、ゲームが終了しているわけではありません。

端についても方向を変えれば、へびはまた動き続けます。

そこで、へびが端についたらゲームオーバーの音を流して、ゲームを終了させるようにします。

  • 「へび」の「コード」の「(20)歩動かす」の後に

  • 「もし<(端)に触れた>なら」

    • 「[ゲーム終了]を送る」(「[メッセージ]を送る」の新しいメッセージを「ゲーム終了」にします)

    • 「[このスクリプトを止める]」

Scratchコード
  • 画面右下の「ステージ」を選択する

  • 「音」を選択して、「Lose」を追加する

  • 「コード」を選択し、

  • 「[ゲーム終了]を受け取ったとき」

  • 「終わるまで(Lose)の音を鳴らす」

  • 「すべてを止まる」

Scratchコード

これで、へびが端に着いたらゲーム終了音が鳴って、ゲームが終了するようになりました。

ステップ5 りんごをいろいろな場所におく

次にへびが食べるりんごを登場させましょう。

いろいろな場所におくようにするには「移動」という名前の「定義」を作成します。

  • スプライトに「Apple」を追加する

  • 名前を「りんご」にする

  • 「りんご」の「コード」を選択する

  • 「ブロック定義」で「ブロックを作る」をクリックする

  • 「ブロック名」を「移動」に変更し、「OK」を押す

  • 定義「移動」の後ろに、「x座標を((-180)から(180)までの乱数)、y座標を((-130)から(130)までの乱数)にする」を追加する

  • 「緑の旗が押されたとき」

  • 「大きさを(70)%にする」

  • 「移動」

Scratchコード

これで、緑の旗を押すと、いろいろな場所にりんごが現れるようになります。

ステップ6 へびがりんごを食べると点数が増え、りんごが別の場所に移動する

へびがりんごに当たる(食べる)と点数が増え、りんごが別の場所に移動するようにします。また、その際音(コイン音)が鳴るようにします。

  • 「へび」の「コード」を選択する

  • 変数を作るで「点数」という変数を「全てのスプライト」で作り、画面に表示させる

  • 「緑の旗が押されたら」の後に

  • 「[点数]を(0)にする」を追加する

  • 「もし<(端)に触れた>なら」の後に

  • 「もし<(りんご)に触れた>なら」

    • 「[りんごを取った]を送る」(「[メッセージ]を送る」の新しいメッセージを「りんごを取った」にします)
Scratchコード
  • 「りんご」の「コード」を選択する

  • 「[りんごを取った]を受け取ったら」

  • 「移動」

  • 「[点数]を(1)ずつ変える」

  • 「音」でCoinの音を追加し、「(Coin)の音を鳴らす」

Scratchコード

これで、へびがりんごを食べると点数が増え、りんごが別の場所に移動するようになりました。

ステップ7 へびがりんごを食べるとへびのからだが伸びる

へびがりんごを食べる(当たる)とへびのからだが伸びるようにします。そのためにはクローンされたとき、クローンを削除するまでの時間を追加で点数分待つようにします。

また、追加して伸びた部分は「からだ」が伸びるようにします。

  • 「へび」の「コード」を選択する

  • 「クローンされたとき」の後の「(1)秒待つ」の後に

  • 「コスチュームを(からだ)にする」

  • 「(点数)秒待つ」を追加する

Scratchコード

これによって、へびがりんごを食べるとへびのからだ(青色)が伸びていきます。

ステップ8 へびが自分のからだに触れてもゲームオーバーにする

へびが自分のからだに触れてもゲームオーバーにします。

  • 「へび」の「コード」を選択する

  • 「もし<(りんご)に触れた>なら」を「もし<<(りんご)に触れた>または<(青)色に触れた>>なら」に変更する

    「青」の部分はスネークのコスチュームを「からだ」に変更して右上の画面に表示させ、「色に触れた」の色の部分をクリックし、一番下のスポイトを選択して、右上の画面の中の「からだ」の色を選択します。

Scratchコード

これでスネークゲームの完成です。

完成したScratchコード

スネークのコード
りんごのコード
ステージのコード