From 73482415688c0f3bd0bd3c51bd935dea6641b70e Mon Sep 17 00:00:00 2001 From: adplantade Date: Thu, 6 Aug 2020 18:07:10 +0200 Subject: [PATCH] Choisir ses gemmes est maintenant fonctionnel --- code/options.js | 40 +++++++++++++++++++++++++++++++++++++--- code/vitraux.js | 11 +++++++++++ 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/code/options.js b/code/options.js index fdec0a8..f7bad9d 100644 --- a/code/options.js +++ b/code/options.js @@ -134,26 +134,60 @@ function allowDrop(ev) { function drag(ev) { ev.dataTransfer.setData("text", ev.target.id); + dragFrom=ev.currentTarget.parentElement; + //console.log("je prends de "+ev.dataTransfer.getData("text") + " et "+ ev.currentTarget.parentElement.id); } +var dragFrom; + function drop(ev) { ev.preventDefault(); var data = ev.dataTransfer.getData("text"); + var color; + //console.log("je lâche sur "+ev.target.id + " et "+dragFrom.hasChildNodes() + "|"+ev.currentTarget.id); + /* if(!ev.target.hasChildNodes() && ev.target.tagName=="DIV") { ev.target.appendChild(document.getElementById(data)); + //gemsSelected[ev.target.id.substring(4)-1]=document.getElementById(data) + + //console.log(data + " | " + ev.target.id + " | " + document.getElementById(data).src.substring(document.getElementById(data).src.search("/ress")+6)); + + color=document.getElementById(data).src.substring(document.getElementById(data).src.search("/ress")+6); + gemsSelected[ev.target.id.substring(4)-1]=color; + console.log(gemsSelected); + } + else */ + if(dragFrom.hasChildNodes() && ev.currentTarget.hasChildNodes() && dragFrom!=ev.currentTarget) + { + [gemsSelected[dragFrom.id.substring(4)-1],gemsSelected[ev.currentTarget.id.substring(4)-1]]=[gemsSelected[ev.currentTarget.id.substring(4)-1],gemsSelected[dragFrom.id.substring(4)-1]]; + dragFrom.appendChild(ev.currentTarget.firstChild); + ev.currentTarget.appendChild(dragFrom.firstChild); + //console.log(ev.currentTarget.firstChild.src.substring(document.getElementById(data).src.search("/ress")+6) + "|"+dragFrom.firstChild.src.substring(document.getElementById(data).src.search("/ress")+6)); + + setCookie("gem"+ev.currentTarget.id.substring(4),ev.currentTarget.firstChild.src.substring(document.getElementById(data).src.search("/ress")+6),30); + setCookie("gem"+dragFrom.id.substring(4),dragFrom.firstChild.src.substring(document.getElementById(data).src.search("/ress")+6),30); + //console.log(dragFrom.id.substring(4)+"/"+ev.currentTarget.id.substring(4)); } } var gemsAvailable=["red","yellow","green","purple","black","brown","cyan","orange"]; +var gemsSelected=[]; + +for(var cpt=0;cpt<8;cpt++) +{ + gemsSelected[cpt]= (getCookie("gem"+(cpt+1))=="" ? gemsAvailable[cpt] : getCookie("gem"+(cpt+1))); +} for(var cpt=1;cpt<9;cpt++) { - eval("var gemIcon"+cpt+"=document.getElementById('gem"+cpt+"')"); - eval('gemIcon'+cpt+'.src="ress/'+gemsAvailable[cpt-1]+'"'); - eval('gemIcon'+cpt+'.width=size/6'); + eval("var gemIcon_"+gemsAvailable[cpt-1]+"=document.getElementById('gem"+cpt+"')"); + eval('gemIcon_'+gemsAvailable[cpt-1]+'.src="ress/'+gemsAvailable[cpt-1]+'"'); + eval('gemIcon_'+gemsAvailable[cpt-1]+'.width=size/6'); eval("var slot"+cpt+"=document.getElementById('slot"+cpt+"')"); eval("slot"+cpt+".style.width=size/6"); eval("slot"+cpt+".style.height=size/6"); + + document.getElementById("slot"+cpt).appendChild(eval("gem"+cpt)); } \ No newline at end of file diff --git a/code/vitraux.js b/code/vitraux.js index 0637da0..7c38a60 100644 --- a/code/vitraux.js +++ b/code/vitraux.js @@ -39,6 +39,14 @@ for(var cpt=1;cpt<9;cpt++) customColorsAvailable.push((getCookie("color_"+cpt)=="" ? colorsAvailable[cpt-1] : getCookie("color_"+cpt))); } +var gemsAvailable=["red","yellow","green","purple","black","brown","cyan","orange"]; +var gemsSelected=[]; + +for(var cpt=0;cpt<8;cpt++) +{ + gemsSelected[cpt]= (getCookie("gem"+(cpt+1))=="" ? gemsAvailable[cpt] : getCookie("gem"+(cpt+1))); +} + for(var cpt=0;cpt-1) @@ -54,6 +64,7 @@ for(var cpt=0;cpt