Scratchでプログラミング

誰かしらに何気ない気づきを!

Scratchでかるたゲームをつくろう

f:id:kobayashinitya:20211215170635p:plain

今回は、かるたゲームをつくります。

お正月にみんな遊ぶかな?Scratchでもつくれたらもっと楽しくなるかも?

今回は4枚のカードを用意します。真ん中に「最初の文字」を表示して、同じ「最初の文字」のかるたをクリックすると得点が入るゲームです。

 

イメージはこんな感じ

https://scratch.mit.edu/projects/616771128

今回習う単元は、

  • 乱数の使い方(真ん中の文字の部分)
  • メッセージ機能の使い方(それぞれのカードの部分)
  • 変数の使い方(得点と制限時間の部分)
  • 「マウスのポインターに触れた」と「マウスが押された」(クリックのコード)

 

かるたをつくろう

まずは、取るかるたをつくっていくよ。新しくページを開いてね。

f:id:kobayashinitya:20211213232323p:plain

まずは、ねこちゃんの右上のゴミ箱を押してねこちゃんを削除!f:id:kobayashinitya:20211214012646p:plain

ねこちゃん消せたかな?そのあと、「描く」をクリック!

f:id:kobayashinitya:20211215171434p:plain

かるたの外枠完成!その次は中の文字を書こう。

f:id:kobayashinitya:20211215171548p:plain

こんな感じかな?
これを4枚用意します。

f:id:kobayashinitya:20211215171743p:plainf:id:kobayashinitya:20211215171753p:plain

f:id:kobayashinitya:20211215171819p:plainf:id:kobayashinitya:20211215171834p:plain

 

真ん中の最初の文字をつくろう

先ほどつくったかるたの最初の文字を4つコスチュームとして並べてつくろう。

こんな感じ!

この時は、くれぐれも別のスプライトとしてつくらないように!

f:id:kobayashinitya:20211215172134p:plain

このような画面になったらOK!もちろん文字は違う畔大丈夫。

コスチュームを追加するには、左下のねこちゃんのマークをクリック!

f:id:kobayashinitya:20211215172304p:plain

これで追加することができるよ!

 

真ん中の最初の文字をランダムに出してみよう

いよいよ、コードに入っていくよ。まずは最初の文字をランダムに出していくコードを組み立てていくよ。ランダムに出すには乱数を使えばいいよ!

補足(ほそく)乱数について

以前のじゃんけんゲームの時にも使ったよ。もし、まだつくっていないお友だちは今回勉強しよう!

kobayashinitya.hatenadiary.jp

「〇〇から〇〇までの乱数」というのを入れると、ランダムにその範囲の数字が選べること。

たとえば、、1から3までの乱数というと、1、2、3のどれかになるということ。

イメージはサイコロを思い出してもらえるとOK!

サイコロは1から6までの目のうち何の目が出るか分からないよね。

そういう数字のことを乱数と言います。

金魚すくいのときに、軽く触れたかも!

kobayashinitya.hatenadiary.jp

では、乱数についての知識も入ったところで・・・実際にコードを組み立てていくよ。

いつものようにヒントタイムから!

1から4までの乱数からそれぞれ1つずつ数字を選び、コスチュームを変更する

f:id:kobayashinitya:20211213233426p:plain

いけたかな?ちなみに、わたしは

f:id:kobayashinitya:20211215172819p:plain

f:id:kobayashinitya:20211215173005p:plain

みんなはそれぞれのかるたの最初の文字のコスチュームになっていたらOK!

f:id:kobayashinitya:20211213234816p:plain

どうかな?コスチュームが変わったかな?

うわー!めっちゃ爆速で変わっている・・これだと、かるたなんて取れないや・・

ちょっと改良しよう。

何秒か待つをはさんでみよう

f:id:kobayashinitya:20211213233426p:plain

いけたかな?ちなみに、わたしは・・

f:id:kobayashinitya:20211215172819p:plain

f:id:kobayashinitya:20211215173242p:plain

わたしはちなみに5秒待つをいれたけど、みんなはいい感じの数字を入れてみてね!

f:id:kobayashinitya:20211215173409p:plain

これでだいぶ、速度がゆっくりになったかな?出来たら先に進もう!

 

メッセージを送ろう

補足(ほそく)メッセージ機能とは?

メッセージ機能は「お手紙」みたいな感じです。

かるたの最初の文字がランダムに選ばれたときにメッセージを送り、それぞれのかるたで受け取ると、メッセージが送られたときに何が行われるかを作れます。

 

つまり、2個以上のスプライト間で動作を連立して起こしたいときに使います。

それぞれランダムにメッセージを送って、かるたの部分に受け取るコードを組み立てよう!

f:id:kobayashinitya:20211215173411p:plain

ちなみに、わたしは・・・

f:id:kobayashinitya:20211215172819p:plain

f:id:kobayashinitya:20211219200444p:plainf:id:kobayashinitya:20211219201205p:plain

 

「〇〇」を送るを5秒待つよりも上に入れる必要がありますね!

もし5秒待つよりも下に入れてしまうと、時間差ができちまうんで!

 

また、かるたの方に「〇〇」を受け取ったときをつくる。

 

かるた側:メッセージを受け取ろう

次は、メッセージを受け取った時のコードを追記していくよ。

かるたの上でマウスをクリックすると、「当たり!」と言うコードを組み立てる!

f:id:kobayashinitya:20211215173411p:plain

ちなみに、わたしは・・

f:id:kobayashinitya:20211215172819p:plain

f:id:kobayashinitya:20211219205245p:plain


「マウスが押された」かつ「マウスのポインターに触れた」で「かるたの上でクリックする」動作ができる!
これ、結構覚えておくと便利かも!?

また、当たり!と2秒言うも追加してみよう。

f:id:kobayashinitya:20211215173409p:plain

押したらコメントが表示されたかな?

いけたら次に進もう!

 

得点を追加する

得点を追加しよう。今回は、変数についてもふれるよ。

f:id:kobayashinitya:20211214001132p:plain

オレンジ色の変数から「変数をつくる」をクリック

f:id:kobayashinitya:20211219210140p:plain


得点という変数がつくれたぜ!

補足(ほそく)変数とは?

変数とは、サイコロみたいなものだよ。

「5」みたいに決まった数字ではなく、変化する数字。

例えば、1+1=Aとするとき、A=2だね。

しかし、1+2=Aとなった場合、A=3になる。

こんなふうに、Aが変化する数字のことを変数と言います。

では、制限時間のコードを組み立てていくよ。

まずは、文字ベースのヒントから!

最初得点は、0点。10点で終了するコード!

f:id:kobayashinitya:20211215173411p:plain

ちなみに、わたしは・・f:id:kobayashinitya:20211215172819p:plain

f:id:kobayashinitya:20211219210842p:plain

こんな感じかな?

みんなも色々とアレンジしてみてね!

f:id:kobayashinitya:20211215173409p:plain

いけたかな?10点入ったら終了したかな?

この得点の機能は、「金魚すくい」「射撃(しゃげき)」でもつくったよ!

kobayashinitya.hatenadiary.jp

kobayashinitya.hatenadiary.jp

チャレンジ

みんなも色々とデザインを作ったり、機能を追加してみたりしてね!

Levelを5段階で分けてます。もし良かったらチャレンジしてね!

  • 制限時間をつける(Level2)
    (サンプルでは制限時間10秒でつくっています。)

    kobayashinitya.hatenadiary.jp

  • かるたの数を増やす(Level2)
  • 対戦型にする(Level4)