じゃんけんゲームを作ろう(勝敗決定編)

さて、前回はゲームをスタートすると、敵がグーチョキパーをランダムに表示するプログラムを作りました。

ただ、スタート後、停止することができませんでしたので今回は停止して勝ち負けを判断したいと思います。

 

敵のプログラムの停止について

まずプログラムを停止するキッカケを定義しておかなければなりません。

今回のゲームの場合、プレーヤーがグーチョキパーのどれかを決定したタイミングで、敵のプログラムを停止させて出す手を決定します。

したがって、プレーヤーの操作(今回の場合←、↑、→のいずれかのキー)によって停止する必要がありますが、プレーヤーが直接敵のスクリプトを停止させることができません。

そこで、今回新しい命令でブロードキャストと呼ばれる命令を使います。

この命令はプログラムから、他のプログラムを動かすことができます。『「メッセージ1」を送る』となっていますが、この「メッセージ1」の文字は自由に変更することができます。(ただし、送る側と受ける側が同じであることが必要です)

では早速プログラムに組み込んでみましょう。

<プレーヤー>

 

<敵>※右のプログラムを新たに追加

このようになります。

プログラムを簡単に説明します。

①プレーヤーのプログラムにて、←、↑、→のいずれかのキーを押した場合、「決定」というメッセージでブロードキャストする。

②敵のプログラムにて、「決定」というメッセージを受け取って、右側のプログラムが動き始める。

③敵のプログラムにて、「スプライトの他のスクリプト」という命令が動く。これは、敵のプログラムがすべて停止する。

という流れですね。

実際に動かして試してみましょう。

 

勝敗について

次はプレーヤーの出した手と、敵の手でどちらが勝ったのかを判定する必要があります。

敵のプログラムを作った際に、

変数[teki] = 1  ⇒ グー
変数[teki] = 2  ⇒ チョキ
変数[teki] = 3  ⇒ パー

と定義しましたので、この変数[teki]の内容にて判断すればよいでしょう。

判断するプログラム自体はプレーヤーが持つと良いでしょう。(敵のプログラムは停止しているので)

ただし、ここで一つ問題があります。それは、自分が何を出したのかが解らない点です。

コスチュームで判断する方法もありますが、敵と同じように変数[player]を作って何を出したのかを持っておくようにします。

 

では、この二つの変数[teki][player]を使って勝ち負けを判断するプログラムを作ります。

まずは、自分がグーを出したときのプログラムを作ってみましょう。

これで、自分がグーを出したときのプログラムができましたね。

このプログラムが動く事が確認できれば、あとはチョキ―、パーも同じように作成しましょう。

 

これでじゃんけんゲームのプログラムが完成しました!

勝った時や負けたときの画面が少し地味ですので、「かち!と言う」の部分のプログラムを変えてみるなど工夫してみてください。

では次回からまた新しいプログラムを作っていきましょう!お楽しみに!!

スクラッチ問題集(電子書籍)発売中

電子書籍にて参考書を販売しております。

スクラッチ問題集やゲームを作成する際に役に立つテクニックも紹介しておりますので、ぜひご覧ください。

最新情報をチェックしよう!
>お子様にプログラミングを教えませんか

お子様にプログラミングを教えませんか

2020年度よりプログラミング教育が必修化となりましたが、残念ながら本質を教える事ができる人材は少なく、小学校でも課題となっております。キッズアイティ合同会社ではプログラミング教育が可能となる人材を育てるための個人レッスンを開催しております。お子様に教えたい方、教育関係の方、ご自身で教室を開きたい方など幅広く対応しております。Zoomでのオンラインレッスンに対応しておりますので、ご自宅でも受講が可能です。

CTR IMG