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