function initAll() { darkMode(); setLang("fr"); dysFont(); } var mobile = false; var switchs = [], lineCount = [], logiques = [], lines = [], endLines = [], end, switchsInfo = [], switchsInfoCopy = [], lineRemove = []; var width = window.innerWidth - window.innerWidth / 100 * 30; var height = window.innerHeight / 2.5; var stage = new Konva.Stage({ container: 'setting_container', width: width, height: height, }); var layer = new Konva.Layer(); tutoCreateLayer(); function tutoCreateLayer() { isTuto = true; width = window.innerWidth - window.innerWidth / 100 * 30; height = window.innerHeight / 2.5; stage = new Konva.Stage({ container: 'setting_container', width: width, height: height, }); stage.add(layer); colonneTot = 1; numberPerColonne = [1]; var logiqueCount = 0; for (let i = 0; i < colonneTot; i++) { liveColonneNumber.push([]); } insertLogiqueColonne("logique1", "et", 0); calculNombreSwitch(); switchCreator(numberOfSwitch); createAllLinkSwitch(); initAllSwitch(); createEnd(); initEnd(); } function resetAllTabs() { switchs = [], lineCount = [], logiques = [], lines = [], endLines = [], end, switchsInfo = [], switchsInfoCopy = [], lineRemove = []; width = window.innerWidth - window.innerWidth / 100 * 10; height = window.innerHeight / 1.5; timeEnd = 5; numberOfSwitch = 0; colonneTot = 0; numberPerColonne = []; liveColonneNumber = []; layer.destroyChildren(); } function gameOne() { createGameOne(niveauActuel); //console.log(stage); //gameData = new GameData(height,width,2,10,"mode1",false,"play_container"); //gameData.createGame(); //checkAllSortieLogique(); } function createGameOne(niveau) { windowWidth = window.innerWidth; windowHeight = window.innerHeight; var numberColonne1 = 2; var numberColonne2 = 1; var isEtNonAllowed = false; var isOuNonAllowed = false; var isOuAllowed = false; var firstTime = []; switch (9) { case 1: firstTime.push("et"); break; case 2: numberColonne1 = 2; numberColonne2 = 0; timeEnd = 5; break; case 3: numberColonne1 = 2; numberColonne2 = 1; timeEnd = 5; break; case 4: numberColonne1 = 4; numberColonne2 = 1; timeEnd = 5; break; //Fin premiere serie case 5: firstTime.push("ou"); numberColonne1 = 1; numberColonne2 = 0; isOuAllowed = true; timeEnd = 5; break; case 6: numberColonne1 = 2; numberColonne2 = 0; isOuAllowed = true; timeEnd = 5; break; case 7: numberColonne1 = 2; numberColonne2 = 1; isOuAllowed = true; timeEnd = 5; break; case 8: numberColonne1 = 3; numberColonne2 = 1; isOuAllowed = true; timeEnd = 5; break; case 9: numberColonne1 = 5; numberColonne2 = 1; isOuAllowed = true; timeEnd = 400; break; case 10: case 11: isEtNonAllowed = true; timeEnd = 4; numberColonne1 = 3; break; case 12: case 13: case 14: isEtNonAllowed = true; isOuNonAllowed = true; timeEnd = 4; numberColonne1 = 3; break; default: isEtNonAllowed = true; isOuNonAllowed = true; timeEnd = 3; numberColonne1 = 4; break; } isTuto = false; stage = new Konva.Stage({ container: 'play_container', width: width, height: height, }); stage.add(layer); colonneTot = 2; numberPerColonne = [numberColonne1, numberColonne2]; var logiqueCount = 0; if (firstTime.length > 0) { numberColonne1 = 1; numberColonne2 = 0; liveColonneNumber.push([]); timeEnd = 5; insertLogiqueColonne("logique" + logiqueCount, firstTime[0], 0); 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++; let numberRandom = getRandomArbitrary(0, x); switch (numberRandom) { case 0: type = "et"; break; case 1: type = "ou"; break; case 2: type = "etnon"; break; case 3: type = "nonou"; break; } insertLogiqueColonne("logique" + logiqueCount, type, i); } } } logiques.forEach(function (element) { createLinkAuto(element.name); }); calculNombreSwitch(); switchCreator(numberOfSwitch); createAllLinkSwitch(); initAllSwitch(); createEnd(); initEnd(); initTimer(); checkAllSortieLogique(); } window.addEventListener('resize', changeStage); function changeStage() { if (window.innerWidth <= 900) { console.log("mobile"); if (!mobile) { stage.rotate(90); stage.x(stage.getX() + stage.height()); mobile = true; } } else { stage.scaleX(window.innerWidth / windowWidth); console.log(document.querySelector("#play_container").offsetHeight); stage.scaleY(window.innerHeight / windowHeight); } stage.draw(); }