Scratchでプログラミング

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

Scratchでじゃんけんゲームをつくろう!

f:id:kobayashinitya:20211214214659p:plain

今回は、じゃんけんゲームを作ります。

ルールは言わずもがなですね。今回作るゲームは2人対戦型です。

キー操作で選んでグー・チョキ・パーを出す自分と、ランダムに出てくるCPUのを対決。

そして、勝ち負けとあいこの表示までします。

ちなみに、3秒のカウントダウンの間に選択しないと、勝てない構造になってます。(後出し防止)

 

イメージはこんな感じ

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

今回習う単元は、

  • コスチュームの使い方(「コスチュームを〇〇にする」など)
  • 乱数の使い方
  • 変数の使い方
  • 「かつ」と「=」の使い方

それでは、早速つくっていきましょう!

 

自分の選ぶグー・チョキ・パーをつくろう

新しく開いたかな?

f:id:kobayashinitya:20211213232323p:plain

まずは、ねこちゃんの右上のゴミ箱を押してねこちゃんを削除

f:id:kobayashinitya:20211214012646p:plain

ねこちゃんが消えたぜ!

そのあと、「描く」をクリック!

f:id:kobayashinitya:20211214215428p:plain

こんな感じに、グー・チョキ・パー、そして最初の画面の「じゃんけん」を作成。

名前もわかりやすいように変えておこう!

f:id:kobayashinitya:20211214215733p:plainf:id:kobayashinitya:20211214215747p:plain

うん!いい感じだね。わたしは画力があんまりなので文字にしたけど、、

みんなはイケてる絵を描いてね!

では、実際にコードを組み立てるよ!

自分のじゃんけん:キーを押したらコスチュームが変わる

最初は、コスチュームを「じゃんけん」にする。

ずっと、もしキーが押されたらコスチュームを変更する。

f:id:kobayashinitya:20211213233426p:plain

いけたかな?

以前に、射撃(しゃげき)のゲームで、銃の移動を左右矢印キーを押したら移動するコードを組み立てたね!

もしつくっていたら、思い出してみよう!

ちなみに、わたしはこんな感じに組み立てたよ。

f:id:kobayashinitya:20211214220251p:plain

「1」が押されたら、グーのコスチュームにする

「2」が押されたら、チョキのコスチュームにする

「3」が押されたら、パーのコスチュームにする

こんな感じかな。

今回、1・2・3のキーを使ったけど、みんなは押しやすいキーを選んでね!

これで一回、コスチュームが変わるか確かめてみよう!

f:id:kobayashinitya:20211213234816p:plain

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

でも、このままだと何回でも選び放題だよね。これを改良してみるよ!

コスチュームが変わったらちょっと待って、このコスチュームの動きを止めてみよう!

f:id:kobayashinitya:20211213233426p:plain

ちなみに、わたしはこんな感じに組み立ててみたよ!

f:id:kobayashinitya:20211214220734p:plainf:id:kobayashinitya:20211214220914p:plain

コスチュームを〇〇にするの下に2秒待つ+このスクリプトを止める

を加えたよ。

「このスクリプトを止める」はオレンジ色の制御の「すべて止める」をクリックすると出てくるよ!

 

CPU:自動でランダムに出してみよう

次は、キー操作で選んだ自分と戦うためのCPUの作成にいこう。

CPUの作成には、乱数を使ってみるよ。

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

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

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

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

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

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

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

kobayashinitya.hatenadiary.jp

 

では、実際にコードを組み立てるよ。まずは、ヒントから!

今回は、グー・チョキ・パー3つの乱数から1つを選ぶ。

選ばれると、それぞれのコスチュームに変える。

f:id:kobayashinitya:20211213233426p:plain

いけたかな?

ちなみにわたしはこんな感じに組み立てたよ。

f:id:kobayashinitya:20211214222957p:plain

これも同じように、コスチュームが変わったら、2秒待ってこのスクリプトを止めてみよう。

f:id:kobayashinitya:20211214223102p:plain

うん、いい感じだね。

f:id:kobayashinitya:20211213234816p:plain


ランダムにグー・チョキ・パーが出現したかな?出来たら次に進もう!

 

勝ち負けあいこ判定をつけるため、変数をつくろう!

勝ち負けあいこの判定をつくる方法は何通りかあるよ。

今回は、その中でも変数を使った判定の方法を作ります。

 

自分のじゃんけんで何を選んだかの情報をつくる

勝ち負けやあいこを判定するには、まず何を出したか?グーなのか、チョキなのか、パーなのかの情報をつくる必要があるんだ。

今回は、変数を使って情報をつくろうかと思います!

(何通りもやり方があるので、そのうちの1つを紹介します。

メッセージでも可能でっせー!別解に興味がある方はぜひ!)

 

自分でグー・チョキ・パーを選んだらそれぞれ変数を作って数字を変えよう

f:id:kobayashinitya:20211213233426p:plain

まずは変数をつくろう!

濃いオレンジ色の変数のバーから「変数をつくる」をクリック!

f:id:kobayashinitya:20211214002017p:plainf:id:kobayashinitya:20211214224951p:plain

新しい変数の名前を入れてみよう!

これを繰り返す!

ちなみに、あと3個(CPU)もついでに作っとこう!

 

ちなみに、グー1、チョキ2、パー3が自分のじゃんけんの変数!

f:id:kobayashinitya:20211214225108p:plain

コードはこんな感じに追記するよ!

f:id:kobayashinitya:20211213234816p:plain

どうかな?グー、チョキ、パーのコスチュームになったらそれぞれの変数が1になったかな?

でも、このままだと2回目も3回目もずっと変数が1のままで、これだと1回しかゲームができないよ。。

だから、最初はすべての変数を0にする必要があるね!

f:id:kobayashinitya:20211214225316p:plain

うん!いい感じ!これで緑のはたが押されたら0に戻ったかな?

 

CPUのじゃんけんで何を選んだかの情報をつくる

今度はCPUバージョン。変数の名前を変えるだけでほとんど一緒なので、ちょっと作ってみて!!

f:id:kobayashinitya:20211213233426p:plain

ちなみに、わたしはこんな感じに組み立てたよ。

f:id:kobayashinitya:20211214225601p:plain

変数の名前はグー4、チョキ5、パー6の3つ。そのほかは全て同じ!

これでじゃんけんできるかな?

f:id:kobayashinitya:20211213234816p:plain

CPUのじゃんけんが早すぎて、キー操作で全然グーチョキパーを選べないね。

これでは楽しくないからちょっと改良しよう。

CPUに3・2・1のカウントをつけよう!

まずは、3・2・1のコスチュームを追記しよう。

f:id:kobayashinitya:20211214232514p:plain

こんな感じに作れたら次は、コード!

1秒待つとコスチュームを〇〇にするをはさむとOK

f:id:kobayashinitya:20211213233426p:plain

ちなみに、わたしはこんな感じ!

f:id:kobayashinitya:20211214232025p:plain

6行目から1秒待つとコスチュームを3、2、1にするを交互に入れてます。

もちろんスタートのコスチュームは「最初(じゃんけん)」

f:id:kobayashinitya:20211213234816p:plain

最初にカウントダウンが表示されたかな?

勝ち負けあいこを表示させよう

いよいよ、情報は変数を使って作れたので、次は勝ち負けあいこのコードだね!

これで終われるからあともう少し!

まずは、自分がグーを出したときを作ってみよう。

グー1=1かつ〇〇=1のとき、勝ちor負けorあいこ

こんな感じの実装だね!

f:id:kobayashinitya:20211213233426p:plain

わたしは、こんな感じに組み立てたよ。

f:id:kobayashinitya:20211214232422p:plain

これでグーは完成!同じようにチョキとパーについても組み立ててみよう!

f:id:kobayashinitya:20211214232559p:plain

こんな感じだね!これで完成!

f:id:kobayashinitya:20211213234816p:plain

じゃんけん出来たかな?

 

チャレンジ

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

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

  • 勝敗数のカウント(得点のコードが参考になるかも!)(Level2)

     

    kobayashinitya.hatenadiary.jp

  • もう一回ボタンの作成(Level3)
  • 3人で戦う(Level4)