parent
a5dae46111
commit
51a722a2ce
After Width: | Height: | Size: 4.9 KiB |
@ -0,0 +1,227 @@
|
||||
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();
|
||||
}
|
Loading…
Reference in new issue