diff --git a/code/index.html b/code/index.html index 6364a64..6f9cde9 100644 --- a/code/index.html +++ b/code/index.html @@ -66,6 +66,7 @@ tabTotal=[]; tabObjCmp=[]; mousePos=[]; + colorsAvailable=["red","yellow","green","purple"]; colors=["red","yellow","green","purple"]; width=120; // 6 lignes de 50px @@ -111,7 +112,6 @@ img.src="ress/"+color+".png"; img.onload = function(){ - console.log("x:"+x+" y:"+y+" col:"+color); lectx.drawImage(img,nx,ny,width/6,height/6); } @@ -137,16 +137,19 @@ element[0]=-tmp; }); } - else { + + else { // ce bout de code fout le merde yee letab[sselem].forEach(element => { tmp=element[1]; element[1]=element[0]; element[0]=-tmp; }); } - toutDessiner(letab,lecanvas,lectx); + //console.log("pre-empiler :"+tabTotal); + empiler(sselem!=null); + //console.log("post-empiler :"+tabTotal); if(sselem==null) - empiler(); + toutDessiner(letab,lecanvas,lectx); } function toutDessiner(pts,lecanvas,lectx) @@ -154,8 +157,8 @@ lectx.clearRect(0, 0, lecanvas.width, lecanvas.height); if(pts[0]) { - - for(i=1;i val.toString() != test.toString(); - exists=false; + var exists=false; if(!obj) { @@ -179,67 +182,84 @@ { tab1.forEach(element => { - tabTotal.push(element); + if(Array.isArray(element)) + { + tabTotal.push(element); + } }) } if(tab2[0]){ tab2.forEach(element => { - colors.forEach(col => { - test=[element[0],element[1],col]; + if(Array.isArray(element)) + { + colors.forEach(col => { + test=[element[0],element[1],col]; + if(!exists) + exists=!tabTotal.every(unique); + }) if(!exists) - exists=!tabTotal.every(unique); - }) - if(!exists) - tabTotal.push(element); - exists=false; + tabTotal.push(element); + exists=false; + } }) } if(tab3[0]) { tab3.forEach(element => { - colors.forEach(col => { - test=[element[0],element[1],col]; + if(Array.isArray(element)){ + colors.forEach(col => { + test=[element[0],element[1],col]; + if(!exists) + exists=!tabTotal.every(unique); + }) if(!exists) - exists=!tabTotal.every(unique); - }) - if(!exists) - tabTotal.push(element); - exists=false; + tabTotal.push(element); + exists=false; + } }) } if(tab4[0]){ tab4.forEach(element => { - colors.forEach(col => { - test=[element[0],element[1],col]; + if(Array.isArray(element)) + { + colors.forEach(col => { + test=[element[0],element[1],col]; + if(!exists) + exists=!tabTotal.every(unique); + }) if(!exists) - exists=!tabTotal.every(unique); - }) - if(!exists) - tabTotal.push(element); - exists=false; + tabTotal.push(element); + exists=false; + } }) } checkAllOK(); toutDessiner(tabTotal,canvasT,ctxT); } else{ - tabObj[0].forEach(element => { - tabObjCmp.push(element); - }) - - tabObj[1].forEach(element => { - colors.forEach(col => { - test=[element[0],element[1],col]; + tabObjCmp=[]; + for(count=1;count { + test=[element[0],element[1],col]; + if(!exists) + exists=!tabObjCmp.every(unique); + }) if(!exists) - exists=!tabObjCmp.every(unique); - }) - if(!exists) - tabObjCmp.push(element); - exists=false; - }) + tabObjCmp.push(element); + exists=false; + } + } } } @@ -263,10 +283,20 @@ return Math.floor(Math.random() * Math.floor(max))+1; } + function copyMDArray(array) //permet la copie d'arrays sans copier les références + { + var newArray = []; + array.forEach(element => { + newArray.push(Array.from(element)) + }); + return newArray + } + function generateEasy(){ - tabObj=[Array.from(tab1),Array.from(tab2),Array.from(tab3),Array.from(tab4)]; + console.log(copyMDArray(tab1)) + tabObj=[copyMDArray(tab1),copyMDArray(tab2),copyMDArray(tab3),copyMDArray(tab4)]; tabObjCmp=[]; - actions=getRandomInt(8); + actions=getRandomInt(8)+1; while(actions>0){ tourneD(tabObj,canvasO,ctxO,getRandomInt(4)-1); @@ -346,18 +376,22 @@ { if((mousePos[1]=="N" && dir == "O") || (mousePos[1]=="S" && dir == "E") || (mousePos[1]=="O" && dir == "S") || (mousePos[1]=="E" && dir == "N")) { + console.log("G"); tourneG(letab,lecanvas,lectx); } else if((mousePos[1] == "N" && dir == "E") || (mousePos[1] == "S" && dir == "O") || (mousePos[1] == "E" && dir == "S") || (mousePos[1] == "O" && dir == "N")) { + console.log("D"); tourneD(letab,lecanvas,lectx); } else if ((mousePos[1] == "E" && dir == "O") || (mousePos[1] == "O" && dir == "E")) { + console.log("V"); swap(letab,lecanvas,lectx,"V"); } else if ((mousePos[1] == "N" && dir == "S") || (mousePos[1] == "S" && dir == "N")) { + console.log("H"); swap(letab,lecanvas,lectx,"H"); } } @@ -373,18 +407,29 @@ function checkAllOK(){ //const condition = (val) => val.toString() == element.toString(); - exists=true; + var exists=true; //exists=!tabObjCmp.every(unique); - + console.log("---------------------------------"); if(tabTotal.length==tabObjCmp.length) { - for(i=0;i>tabTotal.length;i++) + console.log("bon nombre, tab total.l="+tabTotal.length); + var verifTab=[]; + verifTab=copyMDArray(tabTotal); + + + for(i=0;i point.toString()==tabObjCmp[i].toString()); + exists*=result.length; + + console.log("long : "+ result.length + "ling : "+verifTab.length); } } else - exists=false; + { + console.log("mauvais nombre"); + exists=false; + } if(exists) { @@ -409,8 +454,8 @@ //[fromTab,toTab]=[toTab,fromTab]; toutDessiner(fromTab,eval("canvas"+from),eval("ctx"+from)); toutDessiner(toTab,eval("canvas"+to),eval("ctx"+to)); - toutDessiner(tabTotal,canvasT,ctxT); empiler(); + toutDessiner(tabTotal,canvasT,ctxT); } @@ -500,7 +545,7 @@ canvas3.addEventListener("mouseleave",function(e){ document.getElementById("canvas3").classList.remove('vitrail-hover'); }) - + canvas4.addEventListener("mouseenter",function(e){ document.getElementById("canvas4").classList.add('vitrail-hover'); }) diff --git a/code/ress/Jewel4.mp3 b/code/ress/Jewel4.mp3 new file mode 100644 index 0000000..718c370 Binary files /dev/null and b/code/ress/Jewel4.mp3 differ