Scratchで神経衰弱ゲーム

当サイトではアフィリエイト広告を利用しています

トランプの神経衰弱ゲームを作成しました。

スタート(緑旗)を押すとゲームスタートです。スタートすると裏返しにトランプが並べられます。
今回はハートとスペードの1~9まで計18枚のカードを使用しています。

準備

トランプのカードのイラストを準備します。

ハートとスペードそれぞれのスプライトのコスチュームに1~9までと、裏返したときのイラストを作成します。

カードを配る

スタート(緑旗)時に、裏返したトランプを配るプログラムです。

前回の値が残っている場合があるので、最初に使用する全ての変数やリストの値を削除します。

ハートの1~9とスペードの1~9を「card」リストに順に格納します。

「card」リストの中身をランダムな順番に「place」リストに格納します。
これでトランプの順番がランダムになります。

ランダムなリストの作成についてはこちらの記事も参考にしてください。

このプログラムを実行すると「place」リストは下記の状態になります。
乱数を使用しているので実行する毎に異なる順番になります。

作成した「place」リストの順番にトランプを並べていきます。
トランプがハートの場合は、ハートのスプライトのクローンを作成します。
トランプがスペードの場合は、スペードのスプライトのクローンを作成します。

クローンを作成するときに、連続で作成すると複数処理が同時に実行されてしまう場合があり、コスチュームにならないことがあるので1つクローンを作成したら次のクローンを作成するまでに0.2秒待つようにしています。

トランプを並べる場所のx座標とy座標をそれぞれ指定しています。
今回は横に9枚並べたら続きは1つ下の段に並ぶようにしています。

ハートとスペードのスプライトでは、トランプの数値をクローンに設定し、コスチュームを裏返しのカードにして表示します。
「ずっと」以降のプログラムについては後ほど記載します。

このとき、「l_heart」はスプライト内でのみ使用できる変数を使用します。
変数を作るときに「このスプライトのみ」を選択して変数を作成すると、クローン毎に異なる値を持つことができるようになります。

クローンごとの変数については、Japanese Scratch-Wiki も参考にしてください。

トランプを選ぶ

トランプを2枚選んで、同じ数字だったらトランプが消えて、異なる数字だったら裏返しになるプログラムを作成します。

ハートとスペードそれぞれのスプライトで「このスプライトが押されたとき」を使用します。
まず、トランプの数字面を表示して、「selectcard」イベントを送ります。

「selectcard」イベントでは、トランプが2枚選ばれたときに数字が同じかどうか判定をします。
2枚の数字が同じときはトランプを非表示にし、異なるときは裏返しのコスチュームに戻します。

非表示や裏返しコスチュームへの変更はハートとスペードのスプライトにて記載するので、ここでは変数に値の設定の実を行います。

2枚の数字が同じでトランプを非表示にする場合は、「heart_cleacard」または「spade_clearcard」に選択されたトランプの数字を入れます。
これを2回(「selectcard」の長さ分)繰り返します。

2枚の数字が異なり裏返しコスチュームへ変更する場合は。「heart_returncard」または「spade_returncard」に選択されたトランプの数字を入れます。
同様に2回(「selectcard」の長さ分)繰り返します。

ハートとスペードのスプライトをクローンしたときの「ずっと」以降のプログラムで、非表示や裏返しコスチュームへ変更するプログラムを記載します。

上記で「heart_clearcard」に値が設定されたので「l_heart」と同じクローンを削除します。
これでトランプが非表示になります。

「heart_returncard」の値と「l_heart」の値が同じ場合は裏返しのコスチュームに変更します。

スペードのスプライトでも同様です。

「selectcard」イベントで、2枚のトランプの非表示や裏返しコスチュームへの変更が終わった後、次の選択のために使用した各変数をクリアしておきます。

おわり


できるたのしくやりきるScratch3子どもプログラミング入門 対象小学4年生〜 [ 小林真輔 ]

子どもと学ぶScratch3プログラミング入門 (できるキッズ) [ TENTO ]


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です