ビルダーで作るミニゲーム「カード当て」-パート1.正答づくり-

         
  • 投稿日:2022年5月8日
  •      
  • 最終更新日:2022年09月11日
 

2枚目、3枚目、4枚目を同様に決める

2枚目以降も、作り方にはそう変わりはありません。1枚目と同じく

変数設定(乱数)コンポーネント
 ↓
カード別のラベルコンポーネント(10個)作成
(同じラベル名は使えないので、「-2」などを足して区別できるようにしておく)
 ↓
各ラベルへのジャンプコンポーネント(10個)作成
 ↓

各ラベルの下に変数設定コンポーネント作成
(各カードの変数に2枚目は500、3枚目は700、4枚目は900を代入)
 ↓
次のカードを選ぶラベル(Third、Fourth、最後はendラベル)へジャンプ

これを最初の分と合わせて4セット作ります。
途中で保存もしておきましょう。

同じようなコンポーネントはコピーして作成するのもアリです。
(コンポーネントをクリックして、右クリックすると「コピー」「ペースト」の選択が出てきます)

さて、最後のラベル「end」までコンポーネントを並べられたでしょうか。
ここで1つ、重要なポイントがあります。このままだと、1枚目と2枚目で同じカードが選ばれたときに数値が上書きされてしまいます。それでは結果として「3枚のカードが選ばれた(数値が入っている)」状態になってしまいます。

「同じカードが選ばれたときは、ランダムに選び直す」必要があります。
処理としては、「カード名の変数が0でなかったら(=数値が入っていたら)ランダム選択前に戻る」となります。

2枚目以降は、各ラベルの下に条件つきジャンプコンポーネントをおきます。

ターゲット:現在選んでいるカードのラベル
(2枚目であればSecond、3枚目ならThird)
A:カードの変数(図はbanana)
B:「定数」・「0」
条件:「AとBが異なる場合」

「反映」ボタンを押すのを忘れずに!

ざっと確認したときに、ラベル→ジャンプ→変数設定→ジャンプ→ラベル→……の繰り返しになっていれば、コンポーネントの抜けはないでしょう。

カードの枚数が少ないと……

この仕組みには、実は一つ問題があるのです。
ポイントは「同じカードが選ばれたときは、ランダムに選び直す」こと。

今回は「10枚中4枚」なので十分ですが、例えばこれが「10枚中8枚」である場合。
最後の1枚を選ぶためには、確率3/10を成功させなければいけません。失敗した場合は選び直し。
極端な設定をすると、何度も選び直して時間がかかる可能性もあります。

もしこのゲームを実際に遊ぶために作る場合は、「全体の枚数」と「選び出す枚数」は十分差がある数で設定してくださいね。

最後は結果を画面で確認できるようにしてみましょう。