RPGツクールMZ脱出ゲーム(神経衰弱)

神経衰弱をしてカードを全部ペアにして揃えたら脱出出来ます。

【スペードのAのイベント】
Image

条件分岐でカードを何も引いてない状態(変数1が0の場合)の時は変数ID1に「spadeA」の値を入れて、変数ID2にイベントIDを保存します。
2枚目の場合は(変数IDに値が入っている場合)変数ID3に「spadeA」の値を入れて、変数ID4にイベントIDを保存します。

カードを引き終わったらセルフスイッチAをONにして2ページ目に飛ばします。

Image

2ページ目はカードを表示するだけのイベントですが
判定後、処理が追い付かなくてカードが残ってしまった場合のために、並列処理と条件分岐で変数ID1が0の場合はセルフスイッチAをOFFにするようにしておきます。

Image

3ページ目はカードのペアが揃った時に飛ばすページです。

他のカードも値やイベントID、画像を変更します。

Image

カードのランダム配置はいつも通りRPGツクールMZダンジョンに宝箱をランダムに設置スクリプトで配置します。

注釈がそのまま宝箱になっていますが気にしない…!

Image

ちなみにイベントやリージョンの配置はこんな感じです。

配置したらセルフスイッチAをONにして2ページ目へ

Image

const var1 = $gameVariables.value(1);
const var2 = $gameVariables.value(2);
const var3 = $gameVariables.value(3);
const var4 = $gameVariables.value(4);

if ((var1 === "spadeA" && var3 === "heartA") || (var1 === "heartA" && var3 === "spadeA") ||
(var1 === "spade2" && var3 === "heart2") || (var1 === "heart2" && var3 === "spade2") ||
(var1 === "spade3" && var3 === "heart3") || (var1 === "heart3" && var3 === "spade3") ||
(var1 === "spade4" && var3 === "heart4") || (var1 === "heart4" && var3 === "spade4") ||
(var1 === "spade5" && var3 === "heart5") || (var1 === "heart5" && var3 === "spade5")) {
setTimeout(function() {
$gameVariables.setValue(1,0);
$gameVariables.setValue(2,0);
$gameVariables.setValue(3,0);
$gameVariables.setValue(4,0);
$gameSelfSwitches.setValue([1, var2, "B"], true);
$gameSelfSwitches.setValue([1, var4, "B"], true);
}, 400);
} else {
setTimeout(function() {
$gameVariables.setValue(1,0);
$gameVariables.setValue(2,0);
$gameVariables.setValue(3,0);
$gameVariables.setValue(4,0);
$gameSelfSwitches.setValue([マップID, var2, "A"], false);
$gameSelfSwitches.setValue([マップID, var4, "A"], false);
}, 400);
}

カードのペアが揃っていたらカードイベントのセルフスイッチBをONにし、揃っていなかったらセフルスイッチAをOFFにします。

Image

3ページ目は全部のペアが揃った時に飛ばすページです。

Image

プレイヤーが鉄格子に触れたらカードのペアが全部揃っているか判定します。

let allOn = true;
for (let i = 1; i <= 10; i++) {
if (!$gameSelfSwitches.value([マップID, i, 'B'])) {
allOn = false;
break;
}
}

if (allOn) {
$gameSwitches.setValue(スイッチID,true);
} else {
$gameMessage.setFaceImage("フェイス画像", 番号);
$gameMessage.setSpeakerName("名前");
$gameMessage.add("まだ全部揃っていない");
}

イベントID1~10のセルフスイッチBが全てONならスイッチID1をONにして2ページ目に飛ばします。
(鉄格子上下あるのでセルフスイッチではなくスイッチにしています)

Image

そんな感じで出来上がりです!

トランプのファイルのダウンロードはこちらです。
ダウンロード

良かったら使って下さい♪

コメント