implémentation des modes de difficulté

upgrade-menu
adplantade 5 years ago
parent 0b106bc457
commit 881f21e40a

@ -38,4 +38,5 @@ else if(get['mode']=="surv")
document.getElementById("chronotime").style.display="none"; document.getElementById("chronotime").style.display="none";
} }
diff=get["diff"]; difficulty=get["diff"];
console.log("difficulté = "+difficulty+" mode:"+get['mode']);

@ -231,10 +231,13 @@ var canvasT = document.getElementById('canvasTotal');
element[0]=-element[0]; element[0]=-element[0];
}) })
} }
if(lecanvas!=null)
{
toutDessiner(letab,lecanvas,lectx); toutDessiner(letab,lecanvas,lectx);
empiler(); empiler();
} }
}
function getRandomInt(max) { //rng entier [1;max] function getRandomInt(max) { //rng entier [1;max]
return Math.floor(Math.random() * Math.floor(max))+1; return Math.floor(Math.random() * Math.floor(max))+1;
@ -253,29 +256,52 @@ var canvasT = document.getElementById('canvasTotal');
tabObj=[copyMDArray(tab1),copyMDArray(tab2),copyMDArray(tab3),copyMDArray(tab4)]; tabObj=[copyMDArray(tab1),copyMDArray(tab2),copyMDArray(tab3),copyMDArray(tab4)];
tabObjCmp=[]; tabObjCmp=[];
var actions=getRandomInt(4)+1; var actions=getRandomInt(4)+1;
var swapTreshold=10; var swapTreshold=11;
var switchTreshold=10;; var switchTreshold=11;
if(diff=="med") //70% tournerD, 30% swap if(difficulty=="med") //70% tournerD, 30% swap
{ {
actions+=getRandomInt(3)+3; actions+=getRandomInt(3)+3;
swapTreshold=8; swapTreshold=8;
} }
if(diff=="hard") //50% tournerD, 30% swap, 20% switch if(difficulty=="hard") //50% tournerD, 30% swap, 20% switch
{ {
actions+=getRandomInt(5)+5; actions+=getRandomInt(5)+5;
swapTreshold=6; swapTreshold=6;
switchTreshold=9; switchTreshold=9;
} }
console.log("actions : "+actions+" difficulty="+difficulty);
while(actions>0){ while(actions>0){
if(diff!="easy") if(difficulty!="easy")
act=getRandomInt(10); act=getRandomInt(10);
else else
act=1; act=1;
console.log("act="+act+" left:"+actions);
if(switchTreshold<=act && actions>3) // faire un switch
{
var from=getRandomInt(4)-1;
var to=getRandomInt(4)-1;
while(from==to)
to=getRandomInt(4)-1;
//if(switchTreshold<act<10) // faire un switch [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); tourneD(tabObj,canvasO,ctxO,getRandomInt(4)-1);
actions--; actions-=1;
}
} }
empiler(true); empiler(true);
toutDessiner(tabObjCmp,canvasO,ctxO); toutDessiner(tabObjCmp,canvasO,ctxO);
@ -328,8 +354,6 @@ var canvasT = document.getElementById('canvasTotal');
break; break;
} }
console.log("firstAv="+firstAv);
if(mouseOnRes && !canvasNumber.includes("R")) //clic dans la réserve, relâche sur la pile en jeu if(mouseOnRes && !canvasNumber.includes("R")) //clic dans la réserve, relâche sur la pile en jeu
{ {
if(!isVisible(canvasNumber)) //relâche sur emplacement vide au centre if(!isVisible(canvasNumber)) //relâche sur emplacement vide au centre

Loading…
Cancel
Save