|
|
@ -231,9 +231,12 @@ var canvasT = document.getElementById('canvasTotal');
|
|
|
|
element[0]=-element[0];
|
|
|
|
element[0]=-element[0];
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if(lecanvas!=null)
|
|
|
|
toutDessiner(letab,lecanvas,lectx);
|
|
|
|
{
|
|
|
|
empiler();
|
|
|
|
|
|
|
|
|
|
|
|
toutDessiner(letab,lecanvas,lectx);
|
|
|
|
|
|
|
|
empiler();
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function getRandomInt(max) { //rng entier [1;max]
|
|
|
|
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)];
|
|
|
|
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<10) // faire un switch
|
|
|
|
if(switchTreshold<=act && actions>3) // faire un switch
|
|
|
|
tourneD(tabObj,canvasO,ctxO,getRandomInt(4)-1);
|
|
|
|
{
|
|
|
|
actions--;
|
|
|
|
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);
|
|
|
|
empiler(true);
|
|
|
|
toutDessiner(tabObjCmp,canvasO,ctxO);
|
|
|
|
toutDessiner(tabObjCmp,canvasO,ctxO);
|
|
|
@ -327,8 +353,6 @@ var canvasT = document.getElementById('canvasTotal');
|
|
|
|
else
|
|
|
|
else
|
|
|
|
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
|
|
|
|
{
|
|
|
|
{
|
|
|
|