diff --git a/code/selecteur.js b/code/selecteur.js index 868dbe2..2d23a4a 100644 --- a/code/selecteur.js +++ b/code/selecteur.js @@ -38,4 +38,5 @@ else if(get['mode']=="surv") document.getElementById("chronotime").style.display="none"; } -diff=get["diff"]; \ No newline at end of file +difficulty=get["diff"]; +console.log("difficulté = "+difficulty+" mode:"+get['mode']); \ No newline at end of file diff --git a/code/vitraux.js b/code/vitraux.js index 6d89f84..381758a 100644 --- a/code/vitraux.js +++ b/code/vitraux.js @@ -231,9 +231,12 @@ var canvasT = document.getElementById('canvasTotal'); element[0]=-element[0]; }) } - - toutDessiner(letab,lecanvas,lectx); - empiler(); + if(lecanvas!=null) + { + + toutDessiner(letab,lecanvas,lectx); + empiler(); + } } function getRandomInt(max) { //rng entier [1;max] @@ -253,29 +256,52 @@ var canvasT = document.getElementById('canvasTotal'); tabObj=[copyMDArray(tab1),copyMDArray(tab2),copyMDArray(tab3),copyMDArray(tab4)]; tabObjCmp=[]; var actions=getRandomInt(4)+1; - var swapTreshold=10; - var switchTreshold=10;; - if(diff=="med") //70% tournerD, 30% swap + var swapTreshold=11; + var switchTreshold=11; + if(difficulty=="med") //70% tournerD, 30% swap { actions+=getRandomInt(3)+3; swapTreshold=8; } - if(diff=="hard") //50% tournerD, 30% swap, 20% switch + if(difficulty=="hard") //50% tournerD, 30% swap, 20% switch { actions+=getRandomInt(5)+5; swapTreshold=6; switchTreshold=9; } + + console.log("actions : "+actions+" difficulty="+difficulty); while(actions>0){ - if(diff!="easy") + if(difficulty!="easy") act=getRandomInt(10); else act=1; - - //if(switchTreshold3) // faire un switch + { + var from=getRandomInt(4)-1; + var to=getRandomInt(4)-1; + while(from==to) + to=getRandomInt(4)-1; + + [tabObj[from],tabObj[to]]=[tabObj[to],tabObj[from]]; + console.log("switch "+from+"->"+to); + actions-=3; + } + else if(swapTreshold<=act && actions>2) + { + var from=getRandomInt(4)-1; + var dir=getRandomInt(2)==1 ? "H":"V"; + swap(tabObj[from],null,ctxO,dir); + console.log("swap"+dir+" de "+from); + actions-=2; + } + else + { + tourneD(tabObj,canvasO,ctxO,getRandomInt(4)-1); + actions-=1; + } } empiler(true); toutDessiner(tabObjCmp,canvasO,ctxO); @@ -327,8 +353,6 @@ var canvasT = document.getElementById('canvasTotal'); else break; } - - console.log("firstAv="+firstAv); if(mouseOnRes && !canvasNumber.includes("R")) //clic dans la réserve, relâche sur la pile en jeu {