本文へスキップ

スクラッチの使い方。子どもが簡単に使えるプログラミング言語。

第10回 スクラッチでくじ引きゲームを作ろうCONCEPT

さあいよいよ10回目となったスクラッチ(Scrach)講座です。

今回は、とうとう、ちょっとしたくじ引きゲームの作成を行います。

とっても本格的なプログラムになるので、少し内容が難しいかもしれませんが、今は6割くらい理解できれば大丈夫ですよ。

今回作成したプログラムを利用して、他のゲームに組み替えることもできると思うので、是非試してみて下さいね。

それでは1〜9回までの講座の集大成、くじ引きゲームの作成を行いましょう!

くじ引きゲームを作ろう!(説明編)

今回作るくじ引きゲームは、このようなゲームの内容になっています。

  • くじ引きを行うことが出来る
  • くじ引きの結果、当たりなら「当たり!」とスプライトが答える
  • くじ引きの結果、外れなら「はずれ!」とスプライトが答える
  • くじ引きの結果を伝えた後、「もう1度引く?」とスプライトが質問する
  • 「もう1度引く?」に対して「はい」以外の返答があった場合は、くじ引きを終了する
  • 「もう1度引く?」に対して「はい」と返答があった場合は、再度くじ引きができる
  • くじ引きの質問に対して、1〜5以外で答えた場合は「ダメダメ!1〜5の数字を選んで!」とスプライトが言う

第9回の講座で作ったくじ引きのゲームでは、1度くじ引きが終わると、再度旗マークを押さない限りくじ引きは行えませんでした。

また、くじ引きで「1〜5の数」しか、くじの対象ではないのにも関わらず、「1〜5」以外の言葉も回答する事ができました。

今回は、

  • くじ引きが終わったら、もう1度引くかを選択できる
  • くじ引きで選択した値が「1〜5の数」でなければスプライトに注意される

という2点を入れ込んだのがポイントです。

  • くじ引きが終わったら、もう1度引くかを選択できる

処理には、「繰り返し処理」を使用します。

  • くじ引きで選択した値が「1〜5の数」でなければスプライトに注意される

という処理には、「比較」「条件分岐」の処理を使用します。

なんだか本格的なプログラムっぽく感じませんか?

もし説明を見る前に作ってみたい!という方がいらっしゃったら、次からの作成方法を見る前にご自身で作ってみて下さいね。

くじ引きゲームを作ろう!(作成編)

少し長くなりますが、お伝えする通りに作成してみて下さい。

今回は処理が長いこともあって、過去の講座で説明した内容についてはさらっと説明するので、分らない場合は過去の講座を参照して下さい。

1.まずは「データ」のスクリプトから「答え」という変数を作成します。

スクラッチでくじ引きゲームを作ろう

2.「データ」のスクリプトから「答えを〜にする」というブロックを選択して、配置します。

ゲームをプログラミング

3.「答えを〜にする」というブロックのテキストに「はい」を入力します。

4.「制御」のスクリプトから「ずっと〜」のブロックを選び配置します。

5.「制御」のスクリプトから「もし〜なら」のブロックを選び配置します。

6.「演算」のスクリプトから「○=○」のブロックを選び「もし〜なら」のブロック内に配置します。

7.「○=○なら」のブロックの左側には「データ」のスクリプトの「答え」の変数を、右側には「はい」というテキストを設定します。

8.「調べる」のスクリプトから「〜と聞いて待つ」を選び、「もし〜なら」のブロックの中に配置します。

9.「〜と聞いて待つ」のブロックのテキストに「1〜5のくじを選んでね」と入力します。

10.ここまでで、「答え」の変数が「はい」なら「1〜5のくじを選んでね」と質問するプログラムが出来ました。

11.次に、「制御」のスクリプトから「もし〜なら、でなければ」のブロックを選び、配置します。

12.今度は、「演算」のスクリプトから「○かつ○」というブロックを選び、「もし〜なら、でなければ」のブロック内に配置します。

13.更に、「演算」のスクリプトから「○<○」というブロックを選び、「○かつ○」のブロックの左に配置します。

14.「○<○」のブロックの左側に0、右側に「調べる」のスクリプトの「答え」を設定します。

15.「○<○」のブロックを複製して、「○かつ○」の右側に配置します。

16.右側に配置した「○<○」のブロックの左側に「調べる」のスクリプトの「答え」を、右側に「6」と入力します。

17.「制御」のスクリプトから「もし〜なら、でなければ〜」のブロックを選択して配置します。

18.「演算」のスクリプトから「○=○」のブロックを選択して「もし〜なら、でなければ〜」のブロック内に配置します。

19.「演算」のスクリプトから「○=○」のブロックの左側に「調べる」のスクリプトの「答え」を、右側に「演算」のスクリプトの「1〜10までの乱数」を配置します。

20.「1〜10までの乱数」のブロックの10の部分を5に修正します。

21.「見た目」のスクリプトから「〜と2秒言う」のブロックを選択して、「もし〜、でなければ〜」の中に2つ配置します。

22.上の「〜と2秒言う」には「当たり!」、下の「〜と2秒言う」には「はずれ!」を設定します。

23.「もし0<答えかつ答え6<なら」のブロックの「でなければ」の部分に「見た目」のスクリプトから「〜と2秒言う」のブロックを選び、テキスト部分に「ダメダメ!1〜5の数字を選んで!」を設定します。

24.ここまでの作成で、くじを引かせて、「1〜5」までの数字なら当たりか外れかを伝え、「1〜5」以外の答えが返ってきた場合は注意するプログラムが完成しました。

25.次に、「調べる」のスクリプトから「〜と聞いて待つ」というブロックを選んで配置します。

26.「〜と聞いて待つ」のテキストには「もう1度引く?」を入力します。

26.更に、「もし〜なら、でなければ〜」のブロックを選んで配置します。

27.「演算」のスクリプトから「○=○」のブロックを選択し、左側に「調べる」のスクリプトの「答え」を、右側に「はい」を入力します。

28.次に「データ」のスクリプトから「答えを〜にする」というブロックを選び、テキストに「はい」を設定します。

29.そして、「見た目」のスクリプトから「〜と言う」のブロックを選び、テキストには「さようなら!」を設定しましょう。

30.今度は「データ」のスクリプトから「答えを〜にする」というブロックを選び、テキストには「いいえ」を設定します。

31.最後にスクリプトの「イベント」のブロックの中から、「旗がクリックされたとき」のブロックを選択して、右側のブロックの一番上に配置します。

今回は少し難しかったでしたよね。

スクラッチならこんなことまで出来るということをお伝えしたくて、少し難しいプログラムを作って頂きました。

今回は同じ操作をして頂いて、プログラムが完成すれば成功です。

少し内容が分らない部分もあったかもしれませんが、1〜9までの講座を少しずつ復習していただければ、だんだん分るようになると思います。

このプログラム内の「もう1度引く?」と聞く部分は、良くゲームでゲームオーバーになった時の「コンティニュー?」の画面に利用する事ができます。

ここまでできるようになれば、簡単なゲームなら作れてしまうんですよ!

今回の講座の復習

今回は1〜10の講座の集大成ということで、少し難易度の高いプログラムをご紹介しました。

今後作ってみてもらいたいのは、身の回りの電子機器や普段の生活で出会う事が出来るプログラムをスクラッチで再現してみることです。

炊飯器 ・自動販売機 ・レジ ・スマートフォンのログイン画面 などなど、身の回りにはたくさんのプログラムが存在します。

1〜10までの講座の内容を応用させれば、上記のような処理をプログラムにできてしまうので、是非チャレンジしてみて下さいね!

「スクラッチって何だろう?」と最初は思っていらっしゃった方も、今回までの講座でなんとなくスクラッチについて分ってきたのではないでしょうか。

「本物のプログラミングとは違う!」と思っていた方には、スクラッチでも本物のプログラミングに近いことができる事を理解して頂けたと思います。

小学生でも使えるプログラミングソフトではありますが、スクラッチはやり始めると、どんどん高度な学習が出来る仕組みがあります。

もし、お子さんが少しでもスクラッチに興味をもたれたのなら、是非専門の教室で勉強させてあげて下さい。

小さなお子さんは吸収力があるので、どんどん、技術が伸びると思いますよ! 以上、全10回のスクラッチの基礎講座でした。 お疲れ様でした!


スクラッチの使い方ナビゲーション