From 50c4ba47261893e9dc145592aa029a02081cdd82 Mon Sep 17 00:00:00 2001 From: adplantade Date: Tue, 23 Jun 2020 17:24:12 +0200 Subject: [PATCH 01/10] =?UTF-8?q?Les=20vitraux=20sont=20en=20surbrillance?= =?UTF-8?q?=20quand=20ils=20sont=20s=C3=A9lectionn=C3=A9s=20pour=20un=20ch?= =?UTF-8?q?angement=20de=20place?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/index.css | 20 +++++++++++++++++ code/index.html | 58 ++++++++++++++++++++++++++++++++++++------------- 2 files changed, 63 insertions(+), 15 deletions(-) diff --git a/code/index.css b/code/index.css index a83aff3..5439a0a 100644 --- a/code/index.css +++ b/code/index.css @@ -66,4 +66,24 @@ background-repeat: no-repeat; background-position: center; background-size: cover; + } + + .vitrail-select { + margin: 3px; + padding: 6px; + background-image: url(ress/fond_fin.png); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + border: 5px solid red; + } + + .vitrail-hover { + margin: 3px; + padding: 6px; + background-image: url(ress/fond_fin.png); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + border: 5px solid blue; } \ No newline at end of file diff --git a/code/index.html b/code/index.html index 6260eab..2d24c78 100644 --- a/code/index.html +++ b/code/index.html @@ -96,7 +96,7 @@ lectx.fillStyle = color; lectx.fill(cercle); } - + function drawImg(x,y,color,lectx) { var img= new Image(); @@ -107,7 +107,7 @@ var ny=(height/6)*(y>0 ? y+2 : y+3); 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); @@ -160,7 +160,7 @@ drawImg(pts[i][0],pts[i][1],pts[i][2],lectx); } //else - //drawImg(pts[i][0],pts[i][1],pts[i][2],lectx); + //drawImg(pts[i][0],pts[i][1],pts[i][2],lectx); } } } @@ -311,6 +311,7 @@ function rotationManager(e) { canvasNumber=e.currentTarget.id.substring(6); + document.getElementById("canvas"+mousePos[0]).classList.remove('vitrail-select'); if(mousePos[0]=="R" && canvasNumber!="R") { if(!isVisible(canvasNumber)) @@ -420,40 +421,67 @@ toutDessiner(eval("tab"+where),eval("canvas"+where),eval("ctx"+where)); toutDessiner(tabTotal,canvasT,ctxT); } - + /* + function events() { + for(var i=1;i<5;i++) + { + lecanvas="canvas"+i + eval("canvas"+i).addEventListener("mousedown",function(e){ + mousePos = [e.currentTarget.id.substring(6),compas(e.clientX,e.clientY,e.currentTarget)]; + document.getElementById(lecanvas).classList.add('vitrail-select'); + }); + + eval("canvas"+i).addEventListener("mouseup",function(e){ + rotationManager(e); + }) + } + }*/ canvas1.addEventListener("mousedown",function(e){ mousePos = [e.currentTarget.id.substring(6),compas(e.clientX,e.clientY,e.currentTarget)]; + document.getElementById("canvas1").classList.add('vitrail-select'); + }) + canvas2.addEventListener("mousedown",function(e){ + mousePos = [e.currentTarget.id.substring(6),compas(e.clientX,e.clientY,e.currentTarget)]; + document.getElementById("canvas2").classList.add('vitrail-select'); + }) + canvas3.addEventListener("mousedown",function(e){ + mousePos = [e.currentTarget.id.substring(6),compas(e.clientX,e.clientY,e.currentTarget)]; + document.getElementById("canvas3").classList.add('vitrail-select'); + }) + canvas4.addEventListener("mousedown",function(e){ + mousePos = [e.currentTarget.id.substring(6),compas(e.clientX,e.clientY,e.currentTarget)]; + document.getElementById("canvas4").classList.add('vitrail-select'); }) canvas1.addEventListener("mouseup",function(e){ rotationManager(e); }) - canvas2.addEventListener("mousedown",function(e){ - mousePos = [e.currentTarget.id.substring(6),compas(e.clientX,e.clientY,e.currentTarget)]; - }) canvas2.addEventListener("mouseup",function(e){ rotationManager(e); }) - canvas3.addEventListener("mousedown",function(e){ - mousePos = [e.currentTarget.id.substring(6),compas(e.clientX,e.clientY,e.currentTarget)]; - }) canvas3.addEventListener("mouseup",function(e){ rotationManager(e); }) - canvas4.addEventListener("mousedown",function(e){ - mousePos = [e.currentTarget.id.substring(6),compas(e.clientX,e.clientY,e.currentTarget)]; - }) canvas4.addEventListener("mouseup",function(e){ rotationManager(e); }) + + canvas4.addEventListener("mouseenter",function(e){ + document.getElementById("canvas4").classList.add('vitrail-hover'); + }) + + canvas4.addEventListener("mouseleave",function(e){ + document.getElementById("canvas4").classList.remove('vitrail-hover'); + }) + canvasR.addEventListener("mousedown",function(e){ mousePos = [e.currentTarget.id.substring(6),compas(e.clientX,e.clientY,e.currentTarget)]; }) @@ -467,7 +495,7 @@ tab1.push(true,[-3,-3,"green"],[-3,2,"red"],[1,2,"yellow"],[3,-3,"purple"]); tab2.push(true,[-3,-3,"green"],[-3,2,"red"],[1,2,"yellow"],[3,-3,"purple"]); tab3.push(true,[-3,-3,"green"],[-3,2,"red"],[1,2,"yellow"],[3,-3,"purple"]); - tab4.push(true,[-3,-3,"green"],[-3,2,"red"],[1,2,"yellow"],[1,1,"purple"]); + tab4.push(true,[-3,-3,"green"],[-3,2,"red"],[1,2,"yellow"],[3,-3,"purple"]); /* tab1.push(true,[-1,-1,"green"],[-2,-2,"red"]); @@ -481,7 +509,7 @@ toutDessiner(tab3,canvas3,ctx3); toutDessiner(tab4,canvas4,ctx4); - + //events(); From 3e05533137a30c658d6da3d8bb55efe8ca31a868 Mon Sep 17 00:00:00 2001 From: adplantade Date: Tue, 23 Jun 2020 17:25:14 +0200 Subject: [PATCH 02/10] Ajour de surbrillance au survol d'un vitrail --- code/index.html | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/code/index.html b/code/index.html index 2d24c78..665cf58 100644 --- a/code/index.html +++ b/code/index.html @@ -473,7 +473,28 @@ rotationManager(e); }) + canvas1.addEventListener("mouseenter",function(e){ + document.getElementById("canvas1").classList.add('vitrail-hover'); + }) + canvas1.addEventListener("mouseleave",function(e){ + document.getElementById("canvas1").classList.remove('vitrail-hover'); + }) + canvas2.addEventListener("mouseenter",function(e){ + document.getElementById("canvas2").classList.add('vitrail-hover'); + }) + + canvas2.addEventListener("mouseleave",function(e){ + document.getElementById("canvas2").classList.remove('vitrail-hover'); + }) + canvas3.addEventListener("mouseenter",function(e){ + document.getElementById("canvas3").classList.add('vitrail-hover'); + }) + + canvas3.addEventListener("mouseleave",function(e){ + document.getElementById("canvas3").classList.remove('vitrail-hover'); + }) + canvas4.addEventListener("mouseenter",function(e){ document.getElementById("canvas4").classList.add('vitrail-hover'); }) From 349b24a9e6c4685102038c9c1ad1e59404cd6178 Mon Sep 17 00:00:00 2001 From: adplantade Date: Wed, 24 Jun 2020 16:16:04 +0200 Subject: [PATCH 03/10] correction de l'affichage objectif + tabObjCmp --- code/index.html | 145 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 103 insertions(+), 42 deletions(-) diff --git a/code/index.html b/code/index.html index 665cf58..de0b413 100644 --- a/code/index.html +++ b/code/index.html @@ -64,6 +64,7 @@ tabTotal=[]; tabObjCmp=[]; mousePos=[]; + colorsAvailable=["red","yellow","green","purple"]; colors=["red","yellow","green","purple"]; width=120; // 6 lignes de 50px @@ -109,7 +110,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); } @@ -142,9 +142,10 @@ element[0]=-tmp; }); } - toutDessiner(letab,lecanvas,lectx); + + empiler(sselem!=null); if(sselem==null) - empiler(); + toutDessiner(letab,lecanvas,lectx); } function toutDessiner(pts,lecanvas,lectx) @@ -152,8 +153,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) { @@ -177,66 +178,114 @@ { tab1.forEach(element => { - tabTotal.push(element); + if(typeof element!= "boolean") + { + console.log(element.toString()+" n'est pas bool"); + tabTotal.push(element); + } }) } if(tab2[0]){ tab2.forEach(element => { - colors.forEach(col => { - test=[element[0],element[1],col]; + if(typeof element!= "boolean") + { + 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(typeof element!= "boolean"){ + 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(typeof element!= "boolean") + { + 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{ + tabObjCmp=[]; tabObj[0].forEach(element => { - tabObjCmp.push(element); + if(typeof element!= "boolean") + { + tabObjCmp.push(element); + } }) tabObj[1].forEach(element => { - colors.forEach(col => { - test=[element[0],element[1],col]; + if(typeof element!= "boolean") + { + colors.forEach(col => { + 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; + } + + }) + tabObj[2].forEach(element => { + if(typeof element!= "boolean") + { + colors.forEach(col => { + test=[element[0],element[1],col]; + if(!exists) + exists=!tabObjCmp.every(unique); + }) + if(!exists) + tabObjCmp.push(element); + exists=false; + } + + }) + tabObj[3].forEach(element => { + if(typeof element!= "boolean") + { + colors.forEach(col => { + test=[element[0],element[1],col]; + if(!exists) + exists=!tabObjCmp.every(unique); + }) + if(!exists) + tabObjCmp.push(element); + exists=false; + } + }) } } @@ -264,7 +313,7 @@ function generateEasy(){ tabObj=[Array.from(tab1),Array.from(tab2),Array.from(tab3),Array.from(tab4)]; tabObjCmp=[]; - actions=getRandomInt(8); + actions=getRandomInt(8)+1; while(actions>0){ tourneD(tabObj,canvasO,ctxO,getRandomInt(4)-1); @@ -344,18 +393,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"); } } @@ -371,18 +424,23 @@ 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); + for(i=0;i Date: Wed, 24 Jun 2020 17:10:52 +0200 Subject: [PATCH 04/10] =?UTF-8?q?Identification=20de=20la=20portion=20de?= =?UTF-8?q?=20code=20causant=20probablement=20le=20probl=C3=A8me=20d'affic?= =?UTF-8?q?hage=20du=20r=C3=A9sultat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/index.html | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/code/index.html b/code/index.html index de0b413..c493583 100644 --- a/code/index.html +++ b/code/index.html @@ -12,7 +12,7 @@

Objectif

- +
    @@ -135,17 +135,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; }); } - + //console.log("pre-empiler :"+tabTotal); empiler(sselem!=null); + //console.log("post-empiler :"+tabTotal); if(sselem==null) - toutDessiner(letab,lecanvas,lectx); + toutDessiner(letab,lecanvas,lectx); } function toutDessiner(pts,lecanvas,lectx) @@ -233,7 +235,7 @@ } }) } - checkAllOK(); + //checkAllOK(); toutDessiner(tabTotal,canvasT,ctxT); } else{ From f6fb67969236396a7ebd0566b6cd0069b99a3266 Mon Sep 17 00:00:00 2001 From: adplantade Date: Thu, 25 Jun 2020 17:24:07 +0200 Subject: [PATCH 05/10] =?UTF-8?q?Correction=20des=20bugs=20concernant=20la?= =?UTF-8?q?=20g=C3=A9n=C3=A9ration=20al=C3=A9atoire=20d'un=20objectif?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/index.html | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/code/index.html b/code/index.html index c493583..454a630 100644 --- a/code/index.html +++ b/code/index.html @@ -12,7 +12,7 @@

    Objectif

    - +
    @@ -182,7 +182,6 @@ tab1.forEach(element => { if(typeof element!= "boolean") { - console.log(element.toString()+" n'est pas bool"); tabTotal.push(element); } }) @@ -235,7 +234,7 @@ } }) } - //checkAllOK(); + checkAllOK(); toutDessiner(tabTotal,canvasT,ctxT); } else{ @@ -312,8 +311,18 @@ 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)+1; From ff7218186be9a62368b58d0426b2f5d75d61cabe Mon Sep 17 00:00:00 2001 From: adplantade Date: Fri, 26 Jun 2020 11:52:03 +0200 Subject: [PATCH 06/10] Corrections MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le résultat s'actualise quand on change l'ordre dans la pile La vérification de l'objectif est fonctionnelle Un son est joué quand on obtient le résultat (sera désactivable à l'avenir) --- code/index.html | 76 +++++++++++++++---------------------------- code/ress/Jewel4.mp3 | Bin 0 -> 27759 bytes 2 files changed, 27 insertions(+), 49 deletions(-) create mode 100644 code/ress/Jewel4.mp3 diff --git a/code/index.html b/code/index.html index 454a630..b406dab 100644 --- a/code/index.html +++ b/code/index.html @@ -147,7 +147,7 @@ empiler(sselem!=null); //console.log("post-empiler :"+tabTotal); if(sselem==null) - toutDessiner(letab,lecanvas,lectx); + toutDessiner(letab,lecanvas,lectx); } function toutDessiner(pts,lecanvas,lectx) @@ -180,7 +180,7 @@ { tab1.forEach(element => { - if(typeof element!= "boolean") + if(Array.isArray(element)) { tabTotal.push(element); } @@ -189,7 +189,7 @@ if(tab2[0]){ tab2.forEach(element => { - if(typeof element!= "boolean") + if(Array.isArray(element)) { colors.forEach(col => { test=[element[0],element[1],col]; @@ -206,7 +206,7 @@ { tab3.forEach(element => { - if(typeof element!= "boolean"){ + if(Array.isArray(element)){ colors.forEach(col => { test=[element[0],element[1],col]; if(!exists) @@ -221,7 +221,7 @@ if(tab4[0]){ tab4.forEach(element => { - if(typeof element!= "boolean") + if(Array.isArray(element)) { colors.forEach(col => { test=[element[0],element[1],col]; @@ -239,44 +239,15 @@ } else{ tabObjCmp=[]; - tabObj[0].forEach(element => { - if(typeof element!= "boolean") - { - tabObjCmp.push(element); - } - }) - - tabObj[1].forEach(element => { - if(typeof element!= "boolean") - { - colors.forEach(col => { - test=[element[0],element[1],col]; - if(!exists) - exists=!tabObjCmp.every(unique); - }) - if(!exists) - tabObjCmp.push(element); - exists=false; - } - - }) - tabObj[2].forEach(element => { - if(typeof element!= "boolean") - { - colors.forEach(col => { - test=[element[0],element[1],col]; - if(!exists) - exists=!tabObjCmp.every(unique); - }) - if(!exists) - tabObjCmp.push(element); - exists=false; - } - - }) - tabObj[3].forEach(element => { - if(typeof element!= "boolean") + for(count=1;count { test=[element[0],element[1],col]; if(!exists) @@ -284,10 +255,9 @@ }) if(!exists) tabObjCmp.push(element); - exists=false; + exists=false; } - - }) + } } } @@ -319,7 +289,7 @@ }); return newArray } - + function generateEasy(){ console.log(copyMDArray(tab1)) tabObj=[copyMDArray(tab1),copyMDArray(tab2),copyMDArray(tab3),copyMDArray(tab4)]; @@ -441,10 +411,16 @@ if(tabTotal.length==tabObjCmp.length) { 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 @@ -455,6 +431,8 @@ if(exists) { + var audio = new Audio('ress/Jewel4.mp3'); + audio.play(); console.log("OK"); generateEasy(); } @@ -472,8 +450,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); } diff --git a/code/ress/Jewel4.mp3 b/code/ress/Jewel4.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..718c370c1b132e1628734172c877b77cc0a9d9b2 GIT binary patch literal 27759 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 literal 0 HcmV?d00001 From 70471bd4ef4a178a516b00524921cdfa5648d458 Mon Sep 17 00:00:00 2001 From: adplantade Date: Fri, 26 Jun 2020 15:39:01 +0200 Subject: [PATCH 07/10] ajout afficahge score --- code/index.html | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/code/index.html b/code/index.html index 665cf58..6364a64 100644 --- a/code/index.html +++ b/code/index.html @@ -13,6 +13,7 @@

    Objectif

    +

    @@ -61,6 +62,7 @@ tab3=[]; tab4=[]; tabR=[]; + points=0; tabTotal=[]; tabObjCmp=[]; mousePos=[]; @@ -386,6 +388,10 @@ if(exists) { + var audio = new Audio('ress/Jewel4.mp3'); + audio.play(); + points++; + document.getElementById("stats").innerHTML = points+" points"; console.log("OK"); generateEasy(); } @@ -530,6 +536,11 @@ toutDessiner(tab3,canvas3,ctx3); toutDessiner(tab4,canvas4,ctx4); + empiler(); + toutDessiner(tabTotal,canvasT,ctxT); + + document.getElementById("stats").innerHTML = points+" points"; + //events(); From 4b92f4df5fc7a5ba3f0ccda96629991d7288cd8a Mon Sep 17 00:00:00 2001 From: adplantade Date: Fri, 26 Jun 2020 16:30:00 +0200 Subject: [PATCH 08/10] =?UTF-8?q?Affichage=20de=20la=20r=C3=A9serve=20fonc?= =?UTF-8?q?tionnel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/index.html | 113 ++++++++++++++++++++---------------------------- 1 file changed, 48 insertions(+), 65 deletions(-) diff --git a/code/index.html b/code/index.html index 6f9cde9..f2edb6d 100644 --- a/code/index.html +++ b/code/index.html @@ -36,17 +36,6 @@