ライトを全部点灯すれば脱出できるゲームを作りました。
よくあるライツアウトです。
ライトの点灯・消灯位置は毎回変わります。
良かったら遊んでみて下さい。
【ライツアウトの作り方】
まず反転するライトのイベントを作ります。
こちらは真ん中のライトの1ページ目イベントです。
let sw = [スイッチID];
for(let i = 0 ; i < sw.length ; i++){
let check = $gameSwitches.value(sw[i])
$gameSwitches.setValue(sw[i],true - check);
}
2ページ目はスイッチONを出現条件にしたイベントを作ります。
スクリプトは上記と同じです。
これをライト全部にコピーしてライトに応じたスイッチIDに書き換えます。
ライトを作り終わったらライトがランダムで点灯するスクリプトを書きます。
// ランダムにライトを点灯させる
let Lights = [スイッチID];
for (let i = 0; i < Math.floor(Math.random() * ライトの数); i++) {
let randomIndex = Math.floor(Math.random() * Lights.length);
$gameSwitches.setValue(Lights[randomIndex], true);
// 配列から指定の要素を削除する
Lights.splice(randomIndex, 1);
}
spliceで点灯させるライトが重複しないようにします。
最後にライトが全部点灯しているかチェックするスクリプトを書いていきます。
// ライトが全部点灯しているか判定する
for(let i = 1 ; i <= ライトの数 && $gameSwitches.value(i); i++){
if(i==ライトの数){
$gameSwitches.setValue(スイッチID,true)
}
}
スクリプトの途中でライトが全部点灯していた場合に飛ばすイベントへのスイッチを書いておきます。
これで出来上がりです!
コメント