top of page

スクラッチで「神経衰弱」をつくろう!Vol.05

スクラッチで作る「神経衰弱」5回目の今回は、ゲームスタートからカードを裏側に配り、ゲームクリアになるまでの1連の流れを作っていきます。まずは一人でプレイ、クリアまでの回数をカウントする「1Pモード」について作成していきます。

 

ステップ1:カードを裏面で配りめくる

①まずはクローンを作る前にカードを「裏面」にしておきましょう。

コスチュームを「裏」にする を指定しておきます。


②それぞれのクローを作る直前に、コスチュームを変更していました。ここで指定されるものを、コスチュームの変更から変数「ID」に変えます。

指定する内容は、リスト「順番」の 変数「No.」番目、これは変更前と同じですね


スクラッチつくるで真剣衰弱1

③つづいて「クローンされたとき」に続くスクリプト、つまりカード1枚1枚の動きの改造です。上のスプライトで裏面で配られたカードがクリックされたとき、表面を表示させます。上のスプライトの②で1枚1枚のカードに固有の 変数「ID」を指定しました。ここではカードの コスチューム 変数「ID」にします。

さらにこの 変数「ID」を使ってリスト「オープンカード」に代入する値を決定します。

それぞれが持つ 変数「ID」の値を、2で割った時の小数点を除いた値が同じなら同じカードとみなします。例えば、コスチューム番号(=ID)4番目を2で割ると2、コスチューム番号(=ID)5番目を2で割ると2.5、小数点を除いた値は2、ということで同じカードになりますね?これをスクラッチで表現すると、「ID/2 の1番目の数字」と特殊な書き方をします。ただしこれが使えるのは変数「ID」の値が1から19まで、つまり2で割った時の小数点を除いた値が1から9の時まで、それ以外の時は下のように1番目の値と2番目の値を結合します。

 ちょっと難しいですよね?このあたりのリストや変数の使い方、条件分岐など(アルゴリズム系)を詳しく知りたい場合は、ご遠慮なく教室にご連絡ください!

スクラッチで作る真剣衰弱2

④作成済みのブロックを修正します。上の③で比較する数字をリスト「オープンカード」に入れました。ここではその2つの数字を比較するだけになりました。


⑤正解の場合、1秒待ってクローンを削除します。すぐ削除すると2枚目に何を引いたのか表示される前に消えてしまいます。


⑥不正解の場合、1秒待った後に再度コスチュームを裏にします。

これで1ターンの動きは完成です。


スクラッチで作る真剣衰弱3
 

ステップ2:ターン数の管理

つづいて、ターン数を管理します。何回で全てをそろえることができたのかをカウントしないと、張り合いがないですからね?


⑦まずは 変数「プレイ数」を作成し、ゲームスタートの直後に「0」を代入して初期化をします。


⑧1ターンが終わるたびにを 変数「プレイ数」を1ずつ変える でプレイ数をカウントします。

これだけでプレイ数はカウントできます。簡単ですね?

スクラッチで作る真剣衰弱4
 

ステップ3:ゲーム開始から終了の管理

つづいては「ゲームスタート」から「ゲーム終了」までを管理する仕組みを作ってみましょう。


⑨「ゲーム中」の背景を準備します。


⑩「ゲームクリア」画面を作成します。


スクラッチで作る真剣衰弱5

⑪ゲームクリアの条件は、作成したクローン数がすべて消えたとき、つまり0になった時ということですね?

変数「クローン数」を作成し、クローンを作成す前に、まず初期値を0にします。


⑫クローンが生成されるタイミングで、変数「クローン数」を1ずつ変える でカウントします。

スクラッチで作る真剣衰弱6

⑬クローンが削除されるタイミングで、変数「クローン数」を-1ずつ変える でカウントダウンします。

スクラッチで作る真剣衰弱7

⑭「ゲームスタート」を受け取った時 に続くスクリプトに以下のブロックを追加します。

変数「クローン数」= 0 まで待つ

メッセージ「クリア」を送る

スクラッチで作る真剣衰弱8

メッセージ「クリア」を受け取った時 に⑩で作成した背景を指定します。

スクラッチで作る真剣衰弱9

これでゲームスタートからゲームクリアまでの一連の流れができました。

 

次回は演出部分やゲーム管理部分に機能を追加していきましょう。


ファイブボックスでは教室での授業の他、全国どこからでもご参加できるオンライン授業も行っています。いずれも体験授業を行っているので、今回の授業にご興味がありましたら、ぜひお問い合わせください。

お問い合わせは こちら から。

体験授業のお申込みは こちら から。


過去の「神経衰弱をつくってみよう」はこちらから。

Commentaires


bottom of page