今回はScratch(スクラッチ)でカードゲームの神経衰弱を作ってみたいと思います!
神経衰弱にはいろいろな作り方がありますが、できるだけシンプルな考え方やスクリプトで作れるようにしてみました。
クローンを使ってカードを並べ、絵柄は別の方法でリストを使ってランダムに並べてみます!
スクリプトの数はいつもより多めですが、ひとつずつ進めていきましょう。
スクラッチを使うのが初めてという場合はこちらの基本編から始めてみてください。
-
-
プログラミング学習はスクラッチから!だれでも簡単・使い方入門
プログラミング学習を始める入り口として最適なScratch(スクラッチ)の始め方や基本操作を解説します。 小中学生のお子さんを持つご両親はもちろん、プログラミング初心者の方にもオススメで ...
続きを見る

この記事のもくじ
カードのスプライトを用意する
スクラッチにはカードのスプライトがないため、こちらからカードの画像("omote.png"と"ura.png")をダウンロードしてください。(元画像はイラストACより)
カードを並べるスクリプト
次にカードを規則的に並べるスクリプトを作っていきます。

クローンを使った並べ方をくわしく確認しましょう。
まず①で基準の位置を指定し、次にX座標を100ずつ変えて4枚並べています。
5枚目からは下の段に移るので②の座標で基準の位置を指定し、同じようにX座標を100ずつ変えて残りの4枚を並べます。

きれいに並べられることが確認できたら、この後の工程のためにスクリプトの最初を"メッセージ1を受け取ったとき"に変更、最後に"メッセージ2を送る"を追加しておきましょう。
カードの絵柄を用意する
次にカードの絵柄を用意しますが、カードとは別のスプライトとして作ります。
このように4種類の絵柄を2つずつ、合計8つのコスチュームができましたか?

カードの絵柄のスクリプト
次にカードの絵柄を表示させるスクリプトを作ります。
ここでもクローンを使いますが、合わせてリストと変数も使うことで絵柄をランダムな場所に表示させることができます。
ひとつずつ確認しながらやってみましょう。
2つのリストを作る
リストXとYをこのように表示してみるとわかりますが、をクリックするとリストに数字がずらーっと並びます。

※リストの表示はリスト名のチェックボックスをクリックするとできます。
絵柄のスクリプトを作る
次に絵柄のスクリプトを作ってリストX・Yと組み合わせます。
スクリプトについてじっくり見てみましょう。
③の部分で変数Aを使ってリストXとYからランダムに取り出した数字をX座標とY座標として使う、つまり絵柄をそれぞれランダムな場所に配置することができます。
(たとえば変数Aが5のとき、リストの5番目の数字 X:-140, Y:-80 が座標になります。)
またここでとても重要なのが"コスチュームをXの長さにする"と"XのA番目を削除する"と"YのA番目を削除する"です。
これがあることでクローンを1つ作るごとにリストの長さが1ずつ少なくなるので、すべてのコスチュームが1回ずつ使われることになります。

また、このままではカードをめくる前に絵柄が見えてしまうので、スクリプト"最背面へ移動する"を追加しておきましょう。
カードをめくって絵柄が表示されるスクリプト
ではこちらが最後の工程になります!
カードをめくる(裏返しになる)動きと同時に絵柄が見えるスクリプトを作りましょう。
クリックされた時にカードがめくられるように"このスプライトが押されたとき"を使います。
"もしコスチュームの番号=1なら でなければ"で条件分岐することによって、表→裏にする時には絵柄が現れるように、裏→表にする時には絵柄が隠れるようにできます。

ここまでできたらを押してゲームスタートしてみましょう。

今回はカードと絵柄を別々のスプライトにしましたが、下のイメージのようにカードに絵柄をつけたコスチュームを作ってみるのも良いと思います。
その場合どんなスクリプトが必要でしょうか?
カードの枚数を増やしたり、同じ絵柄がでたら自動的に点が入るようにしたり…色々なアレンジに挑戦してみてください。
おさらい動画とScratchプロジェクトページ
今回のレッスンの流れや全体のスクリプトは下のおさらい動画またはScratchのプロジェクトページにて確認できます。