JJ SHIMA Blog

二児のパパがゲーム開発アレコレを書いているブログ。Unity / UE / Scratch / プログラミングゼミ / プログラミング教育

[Scratch] ジャンケンゲームを作ろう-3.あいこを判定しよう-

スクラッチ ジャンケンゲームを作ろう

前回までに、自分と相手のジャンケンを出すところまでできました。

次はお互いのジャンケンを調べて、「勝ち」「負け」「あいこ」の判定を作ります。

f:id:papa-sensei:20200210123940g:image

 

 

1. 自分と相手のジャンケンを確認する

まずはおさらいです。

自分と相手が、それぞれジャンケンで何を出したかはどこを見れば良いでしょう?

 

自分のジャンケン

自分のジャンケンは、ジャンケンのボタンを押した時に、

「はいけい」にグーを選んだよ!とメッセージを送っています。

この時、はいけいでは「あなたのジャンケンのかたち」変数に1を入れています。

この「あなたのジャンケンのかたちが、自分が出したジャンケンです。

f:id:papa-sensei:20200210104354p:plain

 

 

相手のジャンケン

相手のジャンケンは、「ポン!」のタイミングでルーレットを止める時に、

はいけいで「あいてのジャンケンのかたちを(1から3の乱数)にする」

この「あいてのジャンケンのかたち」が、相手の出したジャンケンです。

f:id:papa-sensei:20200210104411p:plain

 

つまり、ジャンケンの結果はこの変数の中身を比べれば良いということです。

f:id:papa-sensei:20200210104340p:plain

 

2. 結果を判定するブロックを作る

まずは結果を判定する場所を用意します。

はいけいのブロック定義に「結果」を作ります。

f:id:papa-sensei:20200210111336p:plain

この中でジャンケンの結果を判定していきます。

 

結果は、「ポン!」でお互いにジャンケンを出した時に判定するので、

はいけいの「ポン!」のメッセージを送っている下につなげます。

(具体的には「あいてのジャンケンのかたちきめる」中です)

f:id:papa-sensei:20200210111350p:plain

 

この時ポン!を送ってからすぐ判定するのではなく、

1秒ほど待つと良いでしょう。

 

3. あいこを判定する

それでは、実際にジャンケンの判定を作っていきましょう。

まずは「あいこ」です。

あいこは、お互いのジャンケンが同じだったときです。

f:id:papa-sensei:20200210105733p:plain

 

スクラッチで変数の中身が同じかどうかは、

「演算」カテゴリの中の「○=○」というブロックを使います。

f:id:papa-sensei:20200210110411p:plain

このブロックの左右に、「あなたのジャンケンのかたち」と「あいてのジャンケンのかたち」を入れます。

f:id:papa-sensei:20200210110458p:plain

結果の中にあいこの判定を作る
先ほど作った「結果」ブロック定義の中にあいこの判定を作ります。

「もし」ブロックを使い、

『もし (あなたのジャンケンのかたち) = (あいてのジャンケンのかたち)』

の時、あいこの動きをします。

*ここではあいこもブロック定義にしてあります。

f:id:papa-sensei:20200210114740p:plain
 

4. あいこの時はジャンケンをやり直す

最後に「あいこ」の時は、再びジャンケンをやり直すようにします。

その前に、「あいこ」の時の状態はどうなっているか確認しましょう!

 

あいこの時は

・自分のジャンケンのボタンが消えている

・あいてのジャンケンのルーレットが止まっている

f:id:papa-sensei:20200210121251p:plain

つまり、再びジャンケンをするには、この状態を元に戻してあげれば良いのです!

 

 

はいけいが「あいこ」のメッセージを送る

あいこの時、はいけいは「あいこ」のメッセージを送るようにします。

f:id:papa-sensei:20200210122322p:plain

 

自分のジャンケンを表示しなおす

自分のジャンケンは、「あいこ」のメッセージを受け取ったら

「表示する」で消えている表示を治します。

この時、だした変数の中身も0に戻すのを忘れないようにしましょう!

(グー・チョキ・パー、それぞれに追加します)

f:id:papa-sensei:20200210122555p:plain

 

あいてのジャンケンをルーレットする

あいてのジャンケンは、「あいこ」を受け取ったら

再びクルクルとジャンケンの絵が切り替わるルーレットをします。

f:id:papa-sensei:20200210122706p:plain

 

 

これで、あいこの時の動きが完成しました!

(ここまでのうごき)

f:id:papa-sensei:20200210123940g:image

あいこの時だけ再びジャンケンが始まります。

 

次回は「勝ち」「負け」の判定です。