You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

228 lines
6.6 KiB

const isTrue = (currentValue) => currentValue[0] == true;
function generate_perso_level() {
var isEtNonAllowed = false;
var isOuNonAllowed = false;
var isNotAllowed = false;
var isOuAllowed = false;
timeEnd = 25;
double = false;
isTuto = false;
createStage("play_container");
stage.add(layer);
var logiqueCount = 0;
for (let i = 0; i < colonneTot; i++) {
liveColonneNumber.push([]);
}
for (let i = 0; i < colonneTot; i++) {
for (let j = 0; j < numberPerColonne[i]; j++) {
logiqueCount++;
let numberRandom = getRandomArbitrary(0, arrayPorte.length);
insertLogiqueColonne("logique" + logiqueCount, arrayPorte[numberRandom][1], i);
}
}
logiques.forEach(function (element) {
createLinkAuto(element.name);
});
initEndGame();
timer.stop();
}
function loadPerso() {
arrayPorte = [[document.querySelector("#logique1").checked, "et"], [document.querySelector("#logique2").checked, "ou"], [document.querySelector("#logique3").checked, "inv"], [document.querySelector("#logique4").checked, "etnon"], [document.querySelector("#logique5").checked, "nonou"]];
document.querySelector("#PersoSetupPage").style.display = 'none';
document.querySelector("#playPage").style.display = 'block';
resetAllTabs(false);
niveauActuel = 1;
timeTot = 0;
windowWidth = window.innerWidth;
windowHeight = window.innerHeight;
if (document.querySelector("#colonne_number_setup").value == 0) {
var porteTotal = parseInt(document.querySelector("#colonne_number_setup_global").value);
colonneTot = 0;
while (porteTotal > 2) {
porteTotal = porteTotal / 2;
numberPerColonne.push(porteTotal);
colonneTot++;
}
numberPerColonne.push(porteTotal);
colonneTot++;
} else {
colonneTot = parseInt(document.querySelector("#colonne_number_setup").value);
document.querySelectorAll(".input_refresh").forEach(function (element) {
numberPerColonne.push(parseInt(element.value));
});
}
arrayPorte = arrayPorte.filter(function (e) { if (e[0] === true) return e; })
generate_perso_level();
click = 0;
while (checkIfEnd() || isLineCollapsing()) {
resetAllTabs(false);
generate_perso_level();
}
}
function buttonSpin() {
document.querySelector("#generate_button_perso").childNodes[3].classList = "fa fa-spinner";
setTimeout(loadPerso, 10);
}
function createGameOne(niveau) {
windowWidth = window.innerWidth;
windowHeight = window.innerHeight;
var numberColonne1 = 2;
var numberColonne2 = 1;
var isEtNonAllowed = false;
var isOuNonAllowed = false;
var isNotAllowed = false;
var isOuAllowed = false;
double = false;
var firstTime = [];
switch (niveauActuel) {
case 1:
firstTime.push("et");
break;
case 2:
numberColonne1 = 2;
numberColonne2 = 0;
timeEnd = 15;
break;
case 3:
numberColonne1 = 2;
numberColonne2 = 1;
timeEnd = 15;
break;
case 4:
numberColonne1 = 3;
numberColonne2 = 1;
timeEnd = 20;
break;
//Fin premiere serie
case 5:
firstTime.push("inv");
isNotAllowed = true;
timeEnd = 20;
break;
case 6:
numberColonne1 = 2;
numberColonne2 = 0;
isNotAllowed = true;
timeEnd = 20;
break;
case 7:
numberColonne1 = 2;
numberColonne2 = 1;
isNotAllowed = true;
timeEnd = 20;
break;
case 8:
numberColonne1 = 3;
numberColonne2 = 1;
isNotAllowed = true;
timeEnd = 20;
break;
case 9:
numberColonne1 = 7;
numberColonne2 = 10;
isNotAllowed = true;
isOuAllowed = true;
double = true;
timeEnd = 5000;
break;
case 10:
firstTime.push("ou");
break;
case 11:
isNotAllowed = true;
isOuAllowed = true;
numberColonne1 = 3;
numberColonne2 = 1;
timeEnd = 20;
break;
case 12:
case 13:
case 14:
isNotAllowed = true;
isOuAllowed = true;
numberColonne1 = 3;
numberColonne2 = 1;
timeEnd = 20;
break;
default:
isEtNonAllowed = true;
isOuNonAllowed = true;
timeEnd = 20;
numberColonne1 = 4;
numberColonne2 = 4;
break;
}
isTuto = false;
createStage("play_container");
stage.add(layer);
colonneTot = 3;
numberPerColonne = [numberColonne1, numberColonne2, 2];
var logiqueCount = 0;
if (firstTime.length > 0) {
numberColonne1 = 1;
numberColonne2 = 0;
numberPerColonne = [numberColonne1, numberColonne2];
liveColonneNumber.push([]);
timeEnd = 20;
insertLogiqueColonne("logique" + logiqueCount, firstTime[0], 0);
if (allowedInfoPorte) {
openModal('firstTime' + firstTime[0]);
timer.pause();
}
} else {
for (let i = 0; i < colonneTot; i++) {
liveColonneNumber.push([]);
}
for (let i = 0; i < colonneTot; i++) {
for (let j = 0; j < numberPerColonne[i]; j++) {
logiqueCount++;
let type = null;
let x = 1;
if (isOuAllowed) x++;
if (isEtNonAllowed) x++;
if (isOuNonAllowed) x++;
if (isNotAllowed) x++;
let numberRandom = getRandomArbitrary(0, x);
switch (numberRandom) {
case 0:
type = "et";
break;
case 1:
type = "inv";
break;
case 2:
type = "ou";
break;
case 3:
type = "etnon";
break;
case 4:
type = "nonou";
break;
}
insertLogiqueColonne("logique" + logiqueCount, type, i);
}
}
}
logiques.forEach(function (element) {
createLinkAuto(element.name);
});
initEndGame();
}