Last active
December 2, 2025 06:12
-
-
Save DigiMancer3D/2467521621aa1453369ce904ecc24b01 to your computer and use it in GitHub Desktop.
Let's find Omni Shapes or Polyominoes!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE HTML> | |
| <html id='html'> | |
| <style> | |
| html{ | |
| background-color: black; | |
| color: silver; | |
| overflow-x: none; | |
| overflow-y: auto; | |
| } | |
| button{ | |
| color: silver; | |
| background-color: rgba(0,0,0,0); | |
| border-color: silver; | |
| border-width: 0.28vw; | |
| border-radius: 48%; | |
| padding:0.89vw; | |
| margin:0.31vw; | |
| } | |
| </style> | |
| <body style='align:center;text-align:center;'> | |
| <div style='align:center;width:85vw;padding-left:2.5vw;padding-right:2.5vw;margin-left:5vw;margin-right:5vw;'> | |
| <span id='counting' style="display:none" title="Don't mind me, I'm counting">0</span> | |
| <h1>Finding OMNI Patterns</h1> | |
| <span id='dufftext' style='display:none;'></span> | |
| </br></br> | |
| <span id='display'></span> | |
| </br></br> | |
| <div id='output' style='align:center;' ></div> | |
| </br></br> | |
| <span id='duff'></span> | |
| </br></br> | |
| <span id='notes'></span> | |
| </br></br> | |
| <div id='rulebox' style='display:none'> | |
| <h3 style='display:block' id='words1' onclick='document.getElementById("rulecont").innerHTML=document.getElementById('rules').innerHTML;this.style.display="none";document.getElementById("words2").style.display="block";' title='I show rules when clicked'>See Rules</h3> | |
| <h3 id='words2' style='display:none' onclick='document.getElementById("rulecont").innerHTML="";this.style.display="none";document.getElementById("words1").style.display="block";' title='I hide rules when clicked'>Hide Rules</h3> | |
| <span id='rulecont' title='I display rules'></span> | |
| <span id='rules' style='display:none' title='You should not be able to see me'>I'm Rules | |
| </br></br> | |
| <h3 id='close' onclick='document.getElementById("rulecont").innerHTML="";document.getElementById("words2").style.display="none";document.getElementById("words1").style.display="block";' title='I hide rules when clicked'><sup>[close]</sup></h3></br></span> | |
| </div> | |
| <span id='history' style='display:none' title='I define the grid size'>0</span> | |
| <span id='rc' style='display:none' title='I show where in the round-count we are at'>0</span> | |
| <span id='sc' style='display:none' title='I show where in a sub-count we are at'>1</span> | |
| <span id='am' style='display:none' title='I show algo-moves needing to be done'></span> | |
| <span id='rh' style='display:none' title='I show algo-moves that have been done'></span> | |
| <span id='reflections' style='display:none'></span> | |
| <div id='creatornotes' style='text-align:center;align:center;'><hr id='pagehr' style='width:31%;opacity:0.33;'><sup><a href='https://github.com/DigiMancer3D/omni_shapes' rel='noopener noreferrer' target='_blank' style='color:grey;text-decoration:none;' title='click to visit this Git Repo'><b>Made by 3Douglas <q><i>3D</i></q> Pihl</b></sup></br></br><sub><a href='https://twitter.com/@Z0M8I3D' rel='noopener noreferrer' target='_blank' style='color:green;text-decoration:none;' title='click to visit on xTwitter'><i>@<b>Z0M8I3D</b></i></a></sub></br></br></div> | |
| </body> | |
| <script> | |
| var countme = 0; | |
| var huh = 0; | |
| var cc = document.getElementById('counting').innerHTML; | |
| document.getElementById('history').innerHTML = 9; <!-- graph initator --> | |
| if(document.getElementById('notes').innerHTML.toString().search(/start/gm) < 0){ | |
| beginbrosiv(); | |
| } | |
| function beginbrosiv(){ | |
| countme = 0; | |
| huh = 0; | |
| <!-- no-history & null-history catch --> | |
| if(document.getElementById('history').innerHTML.search(/\d/g) < 0 || document.getElementById('history').innerHTML <= 0){ | |
| document.getElementById('history').innerHTML = 9; | |
| } | |
| document.getElementById('display').innerHTML = "<h3><b>Welcome to OMNI Shape Finder for finding Polyominoes!</br></br>To begin, click on any ZERO below and it is recommended to try starting from the center or a corner</br><sub>The walls wrap around</br><sup><i>so be careful</i></sup></sub></b><hr style='width:33vw;border-color:rgba(192,192,192,0.4);'></h3>"; | |
| var rows = ["Pick a number <span id='numof'>AT</span> [ <span id='bank' style='color:limegreen' title='Your Current Pick Number Limitor'>0</span> ]!!"]; | |
| document.getElementById('output').innerHTML = ''; | |
| document.getElementById('counting').innerHTML = 0; | |
| cc = document.getElementById('counting').innerHTML; | |
| var tc = document.getElementById('history').innerHTML; //Number(graphlen) | |
| var uff = '', uffda = '', uff1 = '', uffda1 = '', uff2 = '', uffda2 = '', uff3 = '', uffda3 = '', uff4 = '', uffda4 = '', uff5 = '', uffda5 = '', uff6 = '', uffda6 = '', uff7 = '', uffda7 = '', uff8 = '', uffda8 = ''; | |
| for(var i = 1; i <= Number(tc); i++){ | |
| for(var e = 1; e <= Number(tc); e++){ | |
| uff = uffda; | |
| uffda = uff + "" + "<span id='o"+i+"o"+e+"' onclick='colorme("o"+i+"o"+e+"",0);' style='color:silver;' title=' "+i+":"+e+" '>0</span>, "; | |
| } | |
| rows.push(uffda + "!"); | |
| uff = ''; | |
| uffda = ''; | |
| } | |
| rows.push("<sup>Interactive Proof Builder</sup>!!"); | |
| for(var i = 1; i <= Number(tc); i++){ | |
| for(var e = 1; e <= Number(tc); e++){ | |
| uff1 = uffda1; | |
| uffda1 = uff1 + "" + "<span id='b"+i+"b"+e+"' style='color:black;' title=' "+i+":"+e+" '>■</span>, "; | |
| } | |
| rows.push(uffda1 + " "); | |
| uff1 = ''; | |
| uffda1 = ''; | |
| for(var e = 1; e <= Number(tc); e++){ | |
| uff2 = uffda2; | |
| uffda2 = uff2 + "" + "<span id='d"+i+"d"+e+"' style='color:black;' title=' "+i+":"+e+" '>■</span>, "; | |
| } | |
| rows.push(uffda2 + " "); | |
| uff2 = ''; | |
| uffda2 = ''; | |
| for(var e = 1; e <= Number(tc); e++){ | |
| uff3 = uffda3; | |
| uffda3 = uff3 + "" + "<span id='q"+i+"q"+e+"' style='color:black;' title=' "+i+":"+e+" '>■</span>, "; | |
| } | |
| rows.push(uffda3 + " "); | |
| uff3 = ''; | |
| uffda3 = ''; | |
| for(var e = 1; e <= Number(tc); e++){ | |
| uff6 = uffda6; | |
| uffda6 = uff6 + "" + "<span id='r"+i+"r"+e+"' style='color:black;' title=' "+i+":"+e+" '>■</span>, "; | |
| } | |
| rows.push(uffda6 + "!"); | |
| uff6 = ''; | |
| uffda6 = ''; | |
| } | |
| rows.push("<span style='width:100%;text-align:justify;'><sup style='padding-right:1.5vw;padding-left:0.5vw;'>90Rotate Right</sup> <sup style='padding-right:1.5vw;padding-left:1.5vw;'>90Rotate Right & X-Mirror</sup> <sup style='padding-right:1.5vw;padding-left:1.5vw;'>([max]Y-Y)+1</sup><sup style='padding-left:1.5vw;padding-right:0.5vw;'>180deg Rotate Left</sup>!<sup style='padding-right:0.5vw;padding-left:4.5vw;'>Y-Mirror XY-Swap</sup> <sup style='padding-left:4.5vw;padding-right:4.5vw;'>XY-Swap</sup> <sup style='padding-right:3.5vw;padding-left:3.5vw;'>Y-Mirrored</sup><sup style='padding-left:4.5vw;padding-right:4.5vw;'>XY-Mirrored</sup></span>!!"); | |
| for(var i = 1; i <= Number(tc); i++){ | |
| for(var e = 1; e <= Number(tc); e++){ | |
| uff5 = uffda5; | |
| uffda5 = uff5 + "" + "<span id='a"+i+"a"+e+"' style='color:black;' title=' "+i+":"+e+" '>■</span>, "; | |
| } | |
| rows.push(uffda5 + " "); | |
| uff5 = ''; | |
| uffda5 = ''; | |
| for(var e = 1; e <= Number(tc); e++){ | |
| uff4 = uffda4; | |
| uffda4 = uff4 + "" + "<span id='c"+i+"c"+e+"' style='color:black;' title=' "+i+":"+e+" '>■</span>, "; | |
| } | |
| rows.push(uffda4 + " "); | |
| uff4 = ''; | |
| uffda4 = ''; | |
| for(var e = 1; e <= Number(tc); e++){ | |
| uff7 = uffda7; | |
| uffda7 = uff7 + "" + "<span id='f"+i+"f"+e+"' style='color:black;' title=' "+i+":"+e+" '>■</span>, "; | |
| } | |
| rows.push(uffda7 + " "); | |
| uff7 = ''; | |
| uffda7 = ''; | |
| for(var e = 1; e <= Number(tc); e++){ | |
| uff8 = uffda8 | |
| uffda8 = uff8 + "" + "<span id='p"+i+"p"+e+"' style='color:black;' title=' "+i+":"+e+" '>■</span>, "; | |
| } | |
| rows.push(uffda8 + "!"); | |
| uff8 = ''; | |
| uffda8 = ''; | |
| } | |
| rows.push("<span style='width:100%;text-align:justify;'><sup style='padding-right:2.5vw;padding-left:0.5vw;'>90Rotate Right & Y-Mirror</sup> <sup style='padding-right:3.5vw;padding-left:1.5vw;'>90 deg Rotate Left</sup> <sup style='padding-left:1.5vw;padding-right:3.5vw;'>Proof Map</sup> <sup style='padding-right:1.5vw;padding-left:3.5vw;'>([max]X-X)+1</sup>!<sup style='padding-right:3.5vw;padding-left:0.5vw;'>XY-Mirror XY-Swap</sup> <sup style='padding-right:3.5vw;padding-left:2.5'>X-Mirrored XY-Swap</sup> <sup style='padding-left:2.5vw;padding-right:2.5vw;'>XY-Unchanged</sup> <sup style='padding-right:0.5vw;padding-left:2.5vw;'>X-Mirrored</sup></span>!!"); | |
| rows.push("<span id='nulli' style='display:none'></span>!<span id='nulle' style='display:none'></span>!<span style='align:left;text-align:left;'>XY-Unchanged (iPB)</span>!Rol: <span id='newi'></span><span id='isep'></span><span id='endi'></span>!Col: <span id='newe'></span><span id='esep'></span><span id='ende'></span>!"); | |
| rows.push("<span id='nulli1' style='display:none'></span>!<span id='nulle1' style='display:none'></span>!<span style='align:left;text-align:left;'>X-Mirrored (Xm)</span>!Rol: <span id='newi1'></span><span id='isep1'></span><span id='endi1'></span>!Col: <span id='newe1'></span><span id='esep1'></span><span id='ende1'></span>!"); | |
| rows.push("<span id='nulli2' style='display:none'></span>!<span id='nulle2' style='display:none'></span>!<span style='align:left;text-align:left;'>Y-Mirrored (Ym)</span>!Rol: <span id='newi2'></span><span id='isep2'></span><span id='endi2'></span>!Col: <span id='newe2'></span><span id='esep2'></span><span id='ende2'></span>!"); | |
| rows.push("<span id='nulli3' style='display:none'></span>!<span id='nulle3' style='display:none'></span>!<span style='align:left;text-align:left;'>XY-Mirrored (Xm Ym)</span>!Rol: <span id='newi3'></span><span id='isep3'></span><span id='endi3'></span>!Col: <span id='newe3'></span><span id='esep3'></span><span id='ende3'></span>!"); | |
| rows.push("<span id='nulli4' style='display:none'></span>!<span id='nulle4' style='display:none'></span>!<span style='align:left;text-align:left;'>XY-Mirrored XY-Swap (Xm Ym X>Y>X)</span>!Rol: <span id='newi4'></span><span id='isep4'></span><span id='endi4'></span>!Col: <span id='newe4'></span><span id='esep4'></span><span id='ende4'></span>!"); | |
| rows.push("<span id='nulli5' style='display:none'></span>!<span id='nulle5' style='display:none'></span>!<span style='align:left;text-align:left;'>Y-Mirrored XY-Swap (Ym X>Y>X)</span>!Rol: <span id='newi5'></span><span id='isep5'></span><span id='endi5'></span>!Col: <span id='newe5'></span><span id='esep5'></span><span id='ende5'></span>!"); | |
| rows.push("<span id='nulli6' style='display:none'></span>!<span id='nulle6' style='display:none'></span>!<span style='align:left;text-align:left;'>X-Mirrored XY-Swap (Xm X>Y>X)</span>!Rol: <span id='newi6'></span><span id='isep6'></span><span id='endi6'></span>!Col: <span id='newe6'></span><span id='esep6'></span><span id='ende6'></span>!"); | |
| rows.push("<span id='nulli7' style='display:none'></span>!<span id='nulle7' style='display:none'></span>!<span style='align:left;text-align:left;'>XY-Swap (X>Y>X)</span>!Rol: <span id='newi7'></span><span id='isep7'></span><span id='endi7'></span>!Col: <span id='newe7'></span><span id='esep7'></span><span id='ende7'></span>!"); | |
| rows.push("!< <span id='pointer' style='color:rgba(120,120,255,1.0);' title='Full Open-Face Counter'>"+countme+"</span> > ( <span id='lengthis' style='color:rgba(227,187,167,1.0)' title='Current Length'>0</span> ) { <span id='altsare' style='color:rgba(255,127,30,1.0)' title='Current Atl-Moves Found'>0</span> }!"); | |
| document.getElementById('output').innerHTML = "<div id='graphs'>"+rows.toString().replace(/,/gm, " ").replace(/!/gm, "</br>")+"</div>"; | |
| document.getElementById('pointer').innerHTML = countme; | |
| } //end of beginbrosiv() function | |
| function colorme(id,gen){ | |
| var graphlen = document.getElementById('history').innerHTML; | |
| var onemore = Number(document.getElementById('history').innerHTML) + 1; | |
| var cc = Number(document.getElementById('counting').innerHTML); | |
| var toggle = Number(document.getElementById('pointer').innerHTML); | |
| var that = document.getElementById(id).innerHTML; | |
| var at = document.getElementById(id).style.color; | |
| var opensides = 3; <!-- change opensides as sides close --> | |
| var col = parseInt(id.split('o')[1]); | |
| var row = parseInt(id.split('o')[2]); | |
| var cup = Number(col) - 1; //above clicked | |
| var cdown = Number(col) + 1; //below clicked | |
| //cleft finds to user's right side of object <!-- does this mean these need to be flipped? --> | |
| //cright finds to user's left side of object <!-- upgrade UPGRADE Upgrade I'm here im here i'm here I'm Here IM HERE I"M HERE --> | |
| var cleft = Number(row) + 1; //left of clicked | |
| var cright = Number(row) - 1; //right of clicked | |
| var cu = '', cd = '', cl = '', cr = '', cus = '', cds = '', cls = '', crs = '', tempcount = 1; | |
| var bank = Number(document.getElementById('bank').innerHTML); | |
| var hist = document.getElementById('history').innerHTML; | |
| var preendi = 0, preende = 0, preendi1 = 0, preende1 = 0, preendi2 = 0, preende2 = 0, preendi3 = 0, preende3 = 0, preendi4 = 0, preende4 = 0, preendi5 = 0, preende5 = 0, preendi6 = 0, preende6 = 0, preendi7 = 0, preende7 = 0; | |
| do{ | |
| if(cup <= 0){ | |
| cup = Math.abs(Number(cup) + Number(graphlen)); | |
| } | |
| if(cup >= onemore){ | |
| cup = Math.abs(Number(cup) - Number(graphlen)); | |
| } | |
| }while(cup > Number(graphlen) || cup < 1); | |
| do{ | |
| if(cdown <= 0){ | |
| cdown = Math.abs(Number(cdown) + Number(graphlen)); | |
| } | |
| if(cdown >= onemore){ | |
| cdown = Math.abs(Number(cdown) - Number(graphlen)); | |
| } | |
| }while(cdown > Number(graphlen) || cdown < 1); | |
| do{ | |
| if(cleft <= 0){ | |
| cleft = Math.abs(Number(cleft) + Number(graphlen)); | |
| } | |
| if(cleft >= onemore){ | |
| cleft = Math.abs(Number(cleft) - Number(graphlen)); | |
| } | |
| }while(cleft > Number(graphlen) || cleft < 1); | |
| do{ | |
| if(cright <= 0){ | |
| cright = Math.abs(Number(cright) + Number(graphlen)); | |
| } | |
| if(cright >= onemore){ | |
| cright = Math.abs(Number(cright) - Number(graphlen)); | |
| } | |
| }while(cright > Number(graphlen) || cright < 1); | |
| if(cup > 0 && cup < onemore){ | |
| cu = document.getElementById("o"+cup+"o"+row).innerHTML; | |
| cus = document.getElementById("o"+cup+"o"+row).style.color; | |
| //<!--extends purple (takes)--> | |
| if (Number(gen) >= 2 && cus === "orange") { | |
| var purpleTouch = false; | |
| var greenTouch = false; | |
| var pcup = document.getElementById("o"+cup+"o"+row); // Self orange | |
| if (pcup && pcup.style.color !== "green") { // Safe self | |
| // Neighbor up from orange | |
| var nup = Number(cup) - 1; | |
| do { if (nup <= 0) { nup = Math.abs(Number(nup) + Number(graphlen)); } if (nup >= onemore) { nup = Math.abs(Number(nup) - Number(graphlen)); } } while (nup > Number(graphlen) || nup < 1); | |
| var nel = document.getElementById("o"+nup+"o"+row); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| // Neighbor down from orange | |
| var ndown = Number(cup) + 1; | |
| do { if (ndown <= 0) { ndown = Math.abs(Number(ndown) + Number(graphlen)); } if (ndown >= onemore) { ndown = Math.abs(Number(ndown) - Number(graphlen)); } } while (ndown > Number(graphlen) || ndown < 1); | |
| nel = document.getElementById("o"+ndown+"o"+row); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| // Neighbor left from orange | |
| var nleft = Number(row) + 1; | |
| do { if (nleft <= 0) { nleft = Math.abs(Number(nleft) + Number(graphlen)); } if (nleft >= onemore) { nleft = Math.abs(Number(nleft) - Number(graphlen)); } } while (nleft > Number(graphlen) || nleft < 1); | |
| nel = document.getElementById("o"+cup+"o"+nleft); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| // Neighbor right from orange | |
| var nright = Number(row) - 1; | |
| do { if (nright <= 0) { nright = Math.abs(Number(nright) + Number(graphlen)); } if (nright >= onemore) { nright = Math.abs(Number(nright) - Number(graphlen)); } } while (nright > Number(graphlen) || nright < 1); | |
| nel = document.getElementById("o"+cup+"o"+nright); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| if (purpleTouch && !greenTouch) { | |
| cu = "0"; | |
| cus = "silver"; // Leap for purple | |
| } | |
| } | |
| } | |
| } | |
| else { | |
| cu === '2'; | |
| } | |
| if(cdown > 0 && cdown < onemore){ | |
| cd = document.getElementById("o"+cdown+"o"+row).innerHTML; | |
| cds = document.getElementById("o"+cdown+"o"+row).style.color; | |
| //<!--extendeds purple (takes)--> | |
| if (Number(gen) >= 2 && cds === "orange") { | |
| var purpleTouch = false; | |
| var greenTouch = false; | |
| var pcup = document.getElementById("o"+cdown+"o"+row); // Self orange | |
| if (pcup && pcup.style.color !== "green") { // Safe self | |
| // Neighbor up from orange | |
| var nup = Number(cd) - 1; | |
| do { if (nup <= 0) { nup = Math.abs(Number(nup) + Number(graphlen)); } if (nup >= onemore) { nup = Math.abs(Number(nup) - Number(graphlen)); } } while (nup > Number(graphlen) || nup < 1); | |
| var nel = document.getElementById("o"+nup+"o"+row); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| // Neighbor down from orange | |
| var ndown = Number(cup) + 1; | |
| do { if (ndown <= 0) { ndown = Math.abs(Number(ndown) + Number(graphlen)); } if (ndown >= onemore) { ndown = Math.abs(Number(ndown) - Number(graphlen)); } } while (ndown > Number(graphlen) || ndown < 1); | |
| nel = document.getElementById("o"+ndown+"o"+row); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| // Neighbor left from orange | |
| var nleft = Number(row) + 1; | |
| do { if (nleft <= 0) { nleft = Math.abs(Number(nleft) + Number(graphlen)); } if (nleft >= onemore) { nleft = Math.abs(Number(nleft) - Number(graphlen)); } } while (nleft > Number(graphlen) || nleft < 1); | |
| nel = document.getElementById("o"+cup+"o"+nleft); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| // Neighbor right from orange | |
| var nright = Number(row) - 1; | |
| do { if (nright <= 0) { nright = Math.abs(Number(nright) + Number(graphlen)); } if (nright >= onemore) { nright = Math.abs(Number(nright) - Number(graphlen)); } } while (nright > Number(graphlen) || nright < 1); | |
| nel = document.getElementById("o"+cup+"o"+nright); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| if (purpleTouch && !greenTouch) { | |
| cu = "0"; | |
| cus = "silver"; // Leap for purple | |
| } | |
| } | |
| } | |
| } | |
| else { | |
| cd === '2'; | |
| } | |
| if(cleft > 0 && cleft < onemore){ | |
| cl = document.getElementById("o"+col+"o"+cleft).innerHTML; | |
| cls = document.getElementById("o"+col+"o"+cleft).style.color; | |
| //<!--extendeds purple (takes)--> | |
| if (Number(gen) >= 2 && cls === "orange") { | |
| var purpleTouch = false; | |
| var greenTouch = false; | |
| var pcup = document.getElementById("o"+cleft+"o"+row); // Self orange | |
| if (pcup && pcup.style.color !== "green") { // Safe self | |
| // Neighbor up from orange | |
| var nup = Number(cup) - 1; | |
| do { if (nup <= 0) { nup = Math.abs(Number(nup) + Number(graphlen)); } if (nup >= onemore) { nup = Math.abs(Number(nup) - Number(graphlen)); } } while (nup > Number(graphlen) || nup < 1); | |
| var nel = document.getElementById("o"+nup+"o"+row); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| // Neighbor down from orange | |
| var ndown = Number(cup) + 1; | |
| do { if (ndown <= 0) { ndown = Math.abs(Number(ndown) + Number(graphlen)); } if (ndown >= onemore) { ndown = Math.abs(Number(ndown) - Number(graphlen)); } } while (ndown > Number(graphlen) || ndown < 1); | |
| nel = document.getElementById("o"+ndown+"o"+row); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| // Neighbor left from orange | |
| var nleft = Number(row) + 1; | |
| do { if (nleft <= 0) { nleft = Math.abs(Number(nleft) + Number(graphlen)); } if (nleft >= onemore) { nleft = Math.abs(Number(nleft) - Number(graphlen)); } } while (nleft > Number(graphlen) || nleft < 1); | |
| nel = document.getElementById("o"+cup+"o"+nleft); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| // Neighbor right from orange | |
| var nright = Number(row) - 1; | |
| do { if (nright <= 0) { nright = Math.abs(Number(nright) + Number(graphlen)); } if (nright >= onemore) { nright = Math.abs(Number(nright) - Number(graphlen)); } } while (nright > Number(graphlen) || nright < 1); | |
| nel = document.getElementById("o"+cup+"o"+nright); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| if (purpleTouch && !greenTouch) { | |
| cu = "0"; | |
| cus = "silver"; // Leap for purple | |
| } | |
| } | |
| } | |
| } | |
| else { | |
| cl === '2'; | |
| } | |
| if(cright > 0 && cright < onemore){ | |
| cr = document.getElementById("o"+col+"o"+cright).innerHTML; | |
| crs = document.getElementById("o"+col+"o"+cright).style.color; | |
| //<!--extendeds purple (takes)--> | |
| if (Number(gen) >= 2 && crs === "orange") { | |
| var purpleTouch = false; | |
| var greenTouch = false; | |
| var pcup = document.getElementById("o"+cright+"o"+row); // Self orange | |
| if (pcup && pcup.style.color !== "green") { // Safe self | |
| // Neighbor up from orange | |
| var nup = Number(cup) - 1; | |
| do { if (nup <= 0) { nup = Math.abs(Number(nup) + Number(graphlen)); } if (nup >= onemore) { nup = Math.abs(Number(nup) - Number(graphlen)); } } while (nup > Number(graphlen) || nup < 1); | |
| var nel = document.getElementById("o"+nup+"o"+row); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| // Neighbor down from orange | |
| var ndown = Number(cup) + 1; | |
| do { if (ndown <= 0) { ndown = Math.abs(Number(ndown) + Number(graphlen)); } if (ndown >= onemore) { ndown = Math.abs(Number(ndown) - Number(graphlen)); } } while (ndown > Number(graphlen) || ndown < 1); | |
| nel = document.getElementById("o"+ndown+"o"+row); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| // Neighbor left from orange | |
| var nleft = Number(row) + 1; | |
| do { if (nleft <= 0) { nleft = Math.abs(Number(nleft) + Number(graphlen)); } if (nleft >= onemore) { nleft = Math.abs(Number(nleft) - Number(graphlen)); } } while (nleft > Number(graphlen) || nleft < 1); | |
| nel = document.getElementById("o"+cup+"o"+nleft); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| // Neighbor right from orange | |
| var nright = Number(row) - 1; | |
| do { if (nright <= 0) { nright = Math.abs(Number(nright) + Number(graphlen)); } if (nright >= onemore) { nright = Math.abs(Number(nright) - Number(graphlen)); } } while (nright > Number(graphlen) || nright < 1); | |
| nel = document.getElementById("o"+cup+"o"+nright); | |
| if (nel && nel.style.color === "purple") { purpleTouch = true; } | |
| if (nel && nel.style.color === "green") { greenTouch = true; } | |
| if (purpleTouch && !greenTouch) { | |
| cu = "0"; | |
| cus = "silver"; // Leap for purple | |
| } | |
| } | |
| } | |
| } | |
| else { | |
| cr === '2'; | |
| } | |
| if(countme === 0){ <!-- inital click --> | |
| document.getElementById('display').innerHTML = "</br></br>Good Luck</br>"; | |
| document.getElementById('numof').innerHTML = "AT or ABOVE"; | |
| document.getElementById(id).style = "color:green"; | |
| document.getElementById(id).innerHTML = "□"; | |
| document.getElementById('counting').innerHTML = Number(cc) + 1; | |
| document.getElementById('bank').innerHTML = Number(document.getElementById('bank').innerHTML) + 1; | |
| if(cu === "0" && cus === "silver"){ | |
| document.getElementById("o"+cup+"o"+row).style = "color:blue"; | |
| document.getElementById("o"+cup+"o"+row).innerHTML = tempcount; | |
| tempcount = Number(tempcount) + 1; | |
| } | |
| if(cl === "0" && cls === "silver"){ | |
| document.getElementById("o"+col+"o"+cleft).style = "color:blue"; | |
| document.getElementById("o"+col+"o"+cleft).innerHTML = tempcount; | |
| tempcount = Number(tempcount) + 1; | |
| } | |
| if(cd === "0" && cds === "silver"){ | |
| document.getElementById("o"+cdown+"o"+row).style = "color:blue"; | |
| document.getElementById("o"+cdown+"o"+row).innerHTML = tempcount; | |
| tempcount = Number(tempcount) + 1; | |
| } | |
| if(cr === "0" && crs === "silver"){ | |
| document.getElementById("o"+col+"o"+cright).style = "color:blue"; | |
| document.getElementById("o"+col+"o"+cright).innerHTML = tempcount; | |
| tempcount = Number(tempcount) + 1; | |
| } | |
| opensides = Number(tempcount); | |
| countme = Number(toggle) + Number(opensides); | |
| document.getElementById('pointer').innerHTML = countme; | |
| document.getElementById('nulle').innerHTML = id.split(/o/gm)[2] + ","; | |
| document.getElementById('nulli').innerHTML = id.split(/o/gm)[1] + ","; | |
| document.getElementById('nulle1').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) + ","; | |
| document.getElementById('nulli1').innerHTML = id.split(/o/gm)[1] + ","; | |
| document.getElementById('nulle2').innerHTML = id.split(/o/gm)[2] + ","; | |
| document.getElementById('nulli2').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) + ","; | |
| document.getElementById('nulle3').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) + ","; | |
| document.getElementById('nulli3').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) + ","; | |
| document.getElementById('nulle4').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) + ","; //adj row adj col | |
| document.getElementById('nulli4').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) + ","; | |
| document.getElementById('nulle5').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) + ","; //nom row adj col | |
| document.getElementById('nulli5').innerHTML = id.split(/o/gm)[1] + ","; | |
| document.getElementById('nulle6').innerHTML = id.split(/o/gm)[2] + ","; //adj row nom col | |
| document.getElementById('nulli6').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) + ","; | |
| document.getElementById('nulle7').innerHTML = id.split(/o/gm)[1] + ","; //flipped row/col from og setup | |
| document.getElementById('nulli7').innerHTML = id.split(/o/gm)[2] + ","; | |
| document.getElementById('newe').innerHTML = id.split(/o/gm)[2] + "["; | |
| document.getElementById('newi').innerHTML = id.split(/o/gm)[1] + "["; | |
| document.getElementById('newe1').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) + "["; | |
| document.getElementById('newi1').innerHTML = id.split(/o/gm)[1] + "["; | |
| document.getElementById('newe2').innerHTML = id.split(/o/gm)[2] + "["; | |
| document.getElementById('newi2').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) + "["; | |
| document.getElementById('newe3').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) + "["; | |
| document.getElementById('newi3').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) + "["; | |
| document.getElementById('newe4').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) + "["; //adj row adj col | |
| document.getElementById('newi4').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) + "["; | |
| document.getElementById('newe5').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) + "["; //nom row adj col | |
| document.getElementById('newi5').innerHTML = id.split(/o/gm)[1] + "["; | |
| document.getElementById('newe6').innerHTML = id.split(/o/gm)[2] + "["; //adj row nom col | |
| document.getElementById('newi6').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) + "["; | |
| document.getElementById('newe7').innerHTML = id.split(/o/gm)[1] + "["; | |
| document.getElementById('newi7').innerHTML = id.split(/o/gm)[2] + "["; | |
| for(teeth = 0; teeth <= 7; teeth++){ <!-- caps visual bracket (used in filtering) --> | |
| if(teeth === 0){ | |
| document.getElementById('esep').innerHTML = "]"; | |
| document.getElementById('isep').innerHTML = "]"; | |
| } | |
| else{ | |
| document.getElementById('esep'+teeth).innerHTML = "]"; | |
| document.getElementById('isep'+teeth).innerHTML = "]"; | |
| } | |
| } | |
| document.getElementById('endi').innerHTML = Number(id.split(/o/gm)[1]); | |
| document.getElementById('ende').innerHTML = Number(id.split(/o/gm)[2]); | |
| document.getElementById('ende1').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1); | |
| document.getElementById('endi1').innerHTML = Number(id.split(/o/gm)[1]); | |
| document.getElementById('ende2').innerHTML = Number(id.split(/o/gm)[2]); | |
| document.getElementById('endi2').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1); | |
| document.getElementById('endi3').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1); | |
| document.getElementById('ende3').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1); | |
| document.getElementById('endi4').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1); //adj row adj col | |
| document.getElementById('ende4').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1); | |
| document.getElementById('endi5').innerHTML = Number(id.split(/o/gm)[1]); //nom row adj col | |
| document.getElementById('ende5').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1); | |
| document.getElementById('endi6').innerHTML = Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1); //adj row nom col | |
| document.getElementById('ende6').innerHTML = Number(id.split(/o/gm)[2]); | |
| document.getElementById('endi7').innerHTML = Number(id.split(/o/gm)[2]); | |
| document.getElementById('ende7').innerHTML = Number(id.split(/o/gm)[1]); | |
| document.getElementById('lengthis').innerHTML = 1; | |
| finder(id.split(/o/gm)[2],id.split(/o/gm)[1],gen); | |
| } | |
| else{ | |
| document.getElementById('display').innerHTML = " Your Length so far is: "+document.getElementById('lengthis').innerHTML+"</br></br> Alt-Moves found so far are: "+document.getElementById('altsare').innerHTML+" </br></br>"; | |
| document.getElementById('numof').innerHTML = "ABOVE"; | |
| if(gen >= 1){ //this should keep that above CC for non-null generations running through | |
| var hym1 = Math.abs(Number(that) - Number(cc)); | |
| that = Math.abs(Number(that) + Number(Number(hym1) + 1)); | |
| } | |
| if(Number(that) <= toggle && at !== /(green|rgba\(175\,\d+\,175\,\d\))/ && Number(that) >= Number(cc)){ //add in the new open-box colors as needed | |
| var colorbe = ''; | |
| if(gen >= 1){ //generational color rules | |
| var colormod = Math.abs(47 - Number(Math.abs(Number(gen)*1.314).toString().split(/\./g)[0])); | |
| colorbe = "color:rgba(175,"+colormod+",175,1)"; | |
| } | |
| //as you add in more color rules, add that color to the at !== list above this | |
| else{ //this should always be the last resort which is first pick (gen0) | |
| colorbe = "color:green"; | |
| } | |
| document.getElementById(id).style = colorbe; //picks based on color rules | |
| document.getElementById(id).innerHTML = "□"; | |
| if(gen === 0){ //we only want to consider new placements by user as this, all others should keep within it's counted limit | |
| document.getElementById('counting').innerHTML = Number(that); | |
| document.getElementById('bank').innerHTML = Number(that); | |
| if(cu === "0" && gen === 0){ //keep double gen check | |
| document.getElementById("o"+cup+"o"+row).style = "color:blue"; | |
| document.getElementById("o"+cup+"o"+row).innerHTML = tempcount + Number(toggle - 1); | |
| tempcount = Number(tempcount) + 1; | |
| } | |
| if(cl === "0" && gen === 0){ //keep double gen check | |
| document.getElementById("o"+col+"o"+cleft).style = "color:blue"; | |
| document.getElementById("o"+col+"o"+cleft).innerHTML = tempcount + Number(toggle - 1); | |
| tempcount = Number(tempcount) + 1; | |
| } | |
| if(cd === "0" && gen === 0){ //keep double gen check | |
| document.getElementById("o"+cdown+"o"+row).style = "color:blue"; | |
| document.getElementById("o"+cdown+"o"+row).innerHTML = tempcount + Number(toggle - 1); | |
| tempcount = Number(tempcount) + 1; | |
| } | |
| if(cr === "0" && gen === 0){ //keep double gen check | |
| document.getElementById("o"+col+"o"+cright).style = "color:blue"; | |
| document.getElementById("o"+col+"o"+cright).innerHTML = tempcount + Number(toggle - 1); | |
| } | |
| opensides = Number(tempcount); | |
| document.getElementById('sc').innerHTML = Number(document.getElementById('lengthis').innerHTML); // Set sc to current length for sim depth | |
| countme = Number(toggle) + Number(opensides); | |
| document.getElementById('pointer').innerHTML = countme; | |
| var pree = document.getElementById('nulle').innerHTML; | |
| var prei = document.getElementById('nulli').innerHTML; | |
| preendi = document.getElementById('endi').innerHTML; | |
| preende = document.getElementById('ende').innerHTML; | |
| var pree1 = document.getElementById('nulle1').innerHTML; | |
| var prei1 = document.getElementById('nulli1').innerHTML; | |
| preendi1 = document.getElementById('endi1').innerHTML; | |
| preende1 = document.getElementById('ende1').innerHTML; | |
| var pree2 = document.getElementById('nulle2').innerHTML; | |
| var prei2 = document.getElementById('nulli2').innerHTML; | |
| preendi2 = document.getElementById('endi2').innerHTML; | |
| preende2 = document.getElementById('ende2').innerHTML; | |
| var pree3 = document.getElementById('nulle3').innerHTML; | |
| var prei3 = document.getElementById('nulli3').innerHTML; | |
| preendi3 = document.getElementById('endi3').innerHTML; | |
| preende3 = document.getElementById('ende3').innerHTML; | |
| var pree4 = document.getElementById('nulle4').innerHTML; | |
| var prei4 = document.getElementById('nulli4').innerHTML; | |
| preendi4 = document.getElementById('endi4').innerHTML; | |
| preende4 = document.getElementById('ende4').innerHTML; | |
| var pree5 = document.getElementById('nulle5').innerHTML; | |
| var prei5 = document.getElementById('nulli5').innerHTML; | |
| preendi5 = document.getElementById('endi5').innerHTML; | |
| preende5 = document.getElementById('ende5').innerHTML; | |
| var pree6 = document.getElementById('nulle6').innerHTML; | |
| var prei6 = document.getElementById('nulli6').innerHTML; | |
| preendi6 = document.getElementById('endi6').innerHTML; | |
| preende6 = document.getElementById('ende6').innerHTML; | |
| var pree7 = document.getElementById('nulle7').innerHTML; | |
| var prei7 = document.getElementById('nulli7').innerHTML; | |
| preendi7 = document.getElementById('endi7').innerHTML; | |
| preende7 = document.getElementById('ende7').innerHTML; | |
| document.getElementById('nulle').innerHTML += id.split(/o/gm)[2] + ","; | |
| document.getElementById('nulli').innerHTML += id.split(/o/gm)[1] + ","; | |
| document.getElementById('nulle1').innerHTML += Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) + ","; | |
| document.getElementById('nulli1').innerHTML += id.split(/o/gm)[1] + ","; | |
| document.getElementById('nulle2').innerHTML += id.split(/o/gm)[2] + ","; | |
| document.getElementById('nulli2').innerHTML += Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) + ","; | |
| document.getElementById('nulle3').innerHTML += Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) + ","; | |
| document.getElementById('nulli3').innerHTML += Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) + ","; | |
| document.getElementById('nulle4').innerHTML += Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) + ","; //adj row adj col | |
| document.getElementById('nulli4').innerHTML += Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) + ","; | |
| document.getElementById('nulle5').innerHTML += Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) + ","; //nom row adj col | |
| document.getElementById('nulli5').innerHTML += id.split(/o/gm)[1] + ","; | |
| document.getElementById('nulle6').innerHTML += id.split(/o/gm)[2] + ","; //adj row nom col | |
| document.getElementById('nulli6').innerHTML += Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) + ","; | |
| document.getElementById('nulle7').innerHTML += id.split(/o/gm)[1] + ","; + ","; | |
| document.getElementById('nulli7').innerHTML += id.split(/o/gm)[2] + ","; | |
| document.getElementById('newi').innerHTML += Number(Number(id.split(/o/gm)[1]) - Number(prei.split(/\,/gm)[huh])) + ","; | |
| document.getElementById('newe').innerHTML += Number(Number(id.split(/o/gm)[2]) - Number(pree.split(/\,/gm)[huh])) + ","; | |
| document.getElementById('newi1').innerHTML += Number(Number(id.split(/o/gm)[1]) - Number(prei1.split(/\,/gm)[huh])) + ","; | |
| document.getElementById('newe1').innerHTML += Number(Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) - Number(pree1.split(/\,/gm)[huh])) + ","; | |
| document.getElementById('newi2').innerHTML += Number(Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) - Number(prei2.split(/\,/gm)[huh])) + ","; | |
| document.getElementById('newe2').innerHTML += Number(Number(id.split(/o/gm)[2]) - Number(pree2.split(/\,/gm)[huh])) + ","; | |
| document.getElementById('newi3').innerHTML += Number(Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) - Number(prei3.split(/\,/gm)[huh])) + ","; | |
| document.getElementById('newe3').innerHTML += Number(Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) - Number(pree3.split(/\,/gm)[huh])) + ","; | |
| document.getElementById('newi4').innerHTML += Number(Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) - Number(prei4.split(/\,/gm)[huh])) + ","; //adj row adj col | |
| document.getElementById('newe4').innerHTML += Number(Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) - Number(pree4.split(/\,/gm)[huh])) + ","; | |
| document.getElementById('newi5').innerHTML += Number(Number(id.split(/o/gm)[1]) - Number(prei5.split(/\,/gm)[huh])) + ","; //nom row adj col | |
| document.getElementById('newe5').innerHTML += Number(Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) - Number(pree5.split(/\,/gm)[huh])) + ","; | |
| document.getElementById('newi6').innerHTML += Number(Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) - Number(prei6.split(/\,/gm)[huh])) + ","; //adjust row norm col | |
| document.getElementById('newe6').innerHTML += Number(Number(id.split(/o/gm)[2]) - Number(pree6.split(/\,/gm)[huh])) + ","; | |
| document.getElementById('newi7').innerHTML += Number(Number(id.split(/o/gm)[2]) - Number(prei7.split(/\,/gm)[huh])) + ","; | |
| document.getElementById('newe7').innerHTML += Number(Number(id.split(/o/gm)[1]) - Number(pree7.split(/\,/gm)[huh])) + ","; | |
| document.getElementById('endi').innerHTML = Number(Number(preendi) + Number(Number(id.split(/o/gm)[1]) - Number(prei.split(/\,/gm)[huh]))); | |
| document.getElementById('ende').innerHTML = Number(Number(preende) + Number(Number(id.split(/o/gm)[2]) - Number(pree.split(/\,/gm)[huh]))); | |
| document.getElementById('endi1').innerHTML = Number(Number(preende1) + Number(id.split(/o/gm)[1]) - Number(pree1.split(/\,/gm)[huh])); | |
| document.getElementById('ende1').innerHTML = Number(Number(preendi1) + Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) - Number(prei1.split(/\,/gm)[huh])); | |
| document.getElementById('ende2').innerHTML = Number(Number(preendi2) + Number(id.split(/o/gm)[2]) - Number(prei2.split(/\,/gm)[huh])); | |
| document.getElementById('endi2').innerHTML = Number(Number(preende2) + Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) - Number(pree2.split(/\,/gm)[huh])); | |
| document.getElementById('ende3').innerHTML = Number(Number(preende3) + Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) - Number(pree3.split(/\,/gm)[huh])); | |
| document.getElementById('endi3').innerHTML = Number(Number(preendi3) + Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) - Number(prei3.split(/\,/gm)[huh])); | |
| document.getElementById('ende4').innerHTML = Number(Number(preende4) + Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) - Number(pree4.split(/\,/gm)[huh])); //adj row adj col | |
| document.getElementById('endi4').innerHTML = Number(Number(preendi4) + Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) - Number(prei4.split(/\,/gm)[huh])); | |
| document.getElementById('ende5').innerHTML = Number(Number(preende5) + Number(Number(Number(graphlen)-Number(id.split(/o/gm)[2]))+1) - Number(pree5.split(/\,/gm)[huh])); //nom row adj col | |
| document.getElementById('endi5').innerHTML = Number(preendi5) + Number(Number(id.split(/o/gm)[1]) - Number(prei5.split(/\,/gm)[huh])); | |
| document.getElementById('ende6').innerHTML = Number(Number(preende6) + Number(id.split(/o/gm)[2]) - Number(pree6.split(/\,/gm)[huh])); //adjusted row norm col | |
| document.getElementById('endi6').innerHTML = Number(Number(preendi6) + Number(Number(Number(graphlen)-Number(id.split(/o/gm)[1]))+1) - Number(prei6.split(/\,/gm)[huh])); | |
| document.getElementById('ende7').innerHTML = Number(Number(preende7) + Number(id.split(/o/gm)[1]) - Number(pree7.split(/\,/gm)[huh])); | |
| document.getElementById('endi7').innerHTML = Number(Number(preendi7) + Number(id.split(/o/gm)[2]) - Number(prei7.split(/\,/gm)[huh])); | |
| huh = Number(huh)+1; | |
| document.getElementById('lengthis').innerHTML = document.getElementById('newe').innerHTML.toString().split(/\,/gm).length; | |
| finder(id.split(/o/gm)[2],id.split(/o/gm)[1],gen); | |
| } //end if gen === 0 | |
| if(gen >= 1){ | |
| finder(id.split(/o/gm)[1],id.split(/o/gm)[2],gen); | |
| } | |
| } | |
| } | |
| var pid = "p"+Number(col)+"p"+Number(Number(Number(graphlen)-row)+1), qid = "q"+Number(Number(Number(graphlen)-col)+1)+"q"+row, rid = "r"+Number(Number(Number(graphlen)-col)+1)+"r"+Number(Number(Number(graphlen)-row)+1), aid = "a"+Number(Number(Number(graphlen)-row)+1)+"a"+Number(Number(Number(graphlen)-col)+1), bid = "b"+row+"b"+Number(Number(Number(graphlen)-col)+1), cid = "c"+Number(Number(Number(graphlen)-row)+1)+"c"+Number(col), did = "d"+Number(row)+"d"+Number(col), fid = "f"+Number(col)+"f"+Number(row); | |
| if(document.getElementById(id).style.color === "green" && document.getElementById(id).innerHTML === "□"){<!-- reflections clicks here --> | |
| var colorpicker = ''; | |
| if(gen >= 3){ //for some reason 3 is the magic number for real algo-pushes! | |
| colorpicker = "purple"; //gen1 | |
| } | |
| //as more click colors are added, add them into the list in the if statement following this | |
| else{ | |
| colorpicker = "green"; //gen0 | |
| } | |
| document.getElementById(pid).style.color = colorpicker; | |
| document.getElementById(pid).innerHTML = "□"; | |
| document.getElementById(qid).style.color = colorpicker; | |
| document.getElementById(qid).innerHTML = "□"; | |
| document.getElementById(rid).style.color = colorpicker; | |
| document.getElementById(rid).innerHTML = "□"; | |
| document.getElementById(aid).style.color = colorpicker; | |
| document.getElementById(aid).innerHTML = "□"; | |
| document.getElementById(bid).style.color = colorpicker; | |
| document.getElementById(bid).innerHTML = "□"; | |
| document.getElementById(cid).style.color = colorpicker; | |
| document.getElementById(cid).innerHTML = "□"; | |
| document.getElementById(did).style.color = colorpicker; | |
| document.getElementById(did).innerHTML = "□"; | |
| document.getElementById(fid).style.color = colorpicker; | |
| document.getElementById(fid).innerHTML = "□"; | |
| } | |
| //tryagain popup | |
| document.getElementById('pagehr').style.visibility = "hidden"; | |
| document.getElementById('notes').innerHTML = "<span id='tryagain' ></br></br></br></br><hr><h4><i>You May Keep Finding Shapes by Increasing your Graph or just <b>Clear the Graphs</b></i></h4></br><input id='uinp' title='Increase your Graph with the Input & Start Button' placeholder='Input a Graph Length' style='text-align:center;' oninput='this.value=this.value.replace(/[^0-9]/gim,"");' /><button id='start' onclick='document.getElementById("pagehr").style.visibility="visible";document.getElementById("history").innerHTML=document.getElementById("uinp").value;document.getElementById("am").innerHTML="";document.getElementById("rh").innerHTML="";document.getElementById("sc").innerHTML=1;beginbrosiv();document.getElementById("pointer").innerHTML=0;document.getElementById("tryagain").remove();'>Start</button></br></br></br></br><button id='cleargraphs' onclick='document.getElementById("pagehr").style.visibility="visible";document.getElementById("am").innerHTML="";document.getElementById("rh").innerHTML="";document.getElementById("sc").innerHTML=1;beginbrosiv();document.getElementById("pointer").innerHTML=0;document.getElementById("tryagain").remove();this.remove();' title='Use this single button to just clear the graphs & keep on keeping-on' >Just Clear the Graphs</button></br></br><hr></br></br></br></span>"; | |
| } | |
| //BUG FOUND [UNKNOWN WHERE BUG IS AT SPECIFICALLY]: SYSTEM TAKES A SPOT THAT IS ALREADY GREEN, THE SYSTEM SHOULD NOT TAKE GREEN SPOTS BUT SPOTS AROUND THE GREEN AS NEW MOVES | |
| function finder(id0,id1,gen){ | |
| var ngen = document.getElementById('sc').innerHTML; //initiator | |
| var l2r = document.getElementById('nulle').innerHTML.toString().split(/\,/gm); | |
| var u2d = document.getElementById('nulli').innerHTML.toString().split(/\,/gm); | |
| var groupings = []; | |
| var refcheck = document.getElementById('reflections').innerHTML; | |
| //nulli is left-2-right === id0 | |
| //nulle is up-2-down === id1 | |
| if(l2r[0] === id0 && u2d[0] === id1 && document.getElementById('duff').innerHTML.toString().search("L1") < 0){ <!-- 1st move detected --> | |
| document.getElementById('duff').innerHTML += " <span onclick='checker(1)'><span id='l1' onclick='checker(1)' title='Click to View Found Length-1 OMNI' >L1</span><span id='hl1' style='display:none' >"+id0+"[,]"+id0+"!"+id1+"[,]"+id1+"</span> (<span id='l1v' title='All L1 OMNI Found' style='color:gold' >1</span>)</span> "; | |
| } | |
| else{ <!--all other moves--> | |
| var len = document.getElementById('lengthis').innerHTML; | |
| var griff = 0; | |
| do{ | |
| var temped = '', tamped = '', rubbish = '', huff = '', nothuff = ''; | |
| if(griff === 0 || gen >= 1){ //initial move placement | |
| temped = document.getElementById('newi').innerHTML.split(/\[/)[1] + "!" + document.getElementById('newe').innerHTML.split(/\[/)[1]; | |
| var goof1 = '', goof2 = '', sauce = 0, cheese = 0; | |
| if(gen >= 1){ //generation 1 reflow | |
| griff = 7; | |
| goof1 = document.getElementById('newi').innerHTML.split(/\[/)[1].split(/\,{2}/)[0].split(/\,/g).length - 2; | |
| goof2 = document.getElementById('newe').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g).length - 2; | |
| sauce = Number(id0) - Number(Number(document.getElementById('endi').innerHTML) - Number(document.getElementById('newi').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[goof1])); | |
| cheese = Number(id1) - Number(Number(document.getElementById('ende').innerHTML) - Number(document.getElementById('newe').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[goof2])); | |
| } | |
| else{ | |
| goof1 = document.getElementById('newi').innerHTML.split(/\[/)[1].split(/\,{2}/)[0].split(/\,/g).length - 1; | |
| goof2 = document.getElementById('newe').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g).length - 1; | |
| } | |
| var nei = '', nee = ''; | |
| for(g = 0; g < goof1; g++){ | |
| nei += Number(0 - Number(document.getElementById('newi').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[g])) + ","; | |
| } | |
| for(g = 0; g < goof2; g++){ | |
| nee += Number(0 - Number(document.getElementById('newe').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[g])) + ","; | |
| } | |
| if(gen >= 1){ //should be missing piece info | |
| nei += sauce; | |
| nee += cheese; | |
| } | |
| tamped = nei + "!" + nee; //smoothered in sauce & cheese | |
| huff = document.getElementById('newe').innerHTML.toString().split(/\[/)[1] + "!" + document.getElementById('newi').innerHTML.toString().split(/\[/)[1]; | |
| nothuff = nee + "!" + nei; | |
| } | |
| else{ //all others | |
| temped = document.getElementById('newi'+griff).innerHTML.split(/\[/)[1].replace(/\,{2}/gm, '') + "!" + document.getElementById('newe'+griff).innerHTML.split(/\[/)[1].replace(/\,{2}/gm, ''); | |
| var goof1 = document.getElementById('newi'+griff).innerHTML.split(/\[/)[1].split(/\,{2}/)[0].split(/\,/g).length - 1; | |
| var goof2 = document.getElementById('newe'+griff).innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g).length - 1; | |
| var nei = '', nee = ''; | |
| for(g = 0; g < goof1; g++){ | |
| nei += Number(0 - Number(document.getElementById('newi'+griff).innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[g])) + ","; | |
| } | |
| for(g = 0; g < goof2; g++){ | |
| nee += Number(0 - Number(document.getElementById('newe'+griff).innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[g])) + ","; | |
| } | |
| tamped = nei + "!" + nee; | |
| huff = document.getElementById('newe'+griff).innerHTML.toString().split(/\[/)[1] + "!" + document.getElementById('newi'+griff).innerHTML.toString().split(/\[/)[1]; | |
| nothuff = nee + "!" + nei; | |
| } | |
| if (document.getElementById('am').innerHTML.search(/\!\d/g) >= 0 && Number(gen) < Number(document.getElementById('sc').innerHTML)) { | |
| finder(id, Number(gen) + 1); // Recurse for next depth level | |
| } | |
| <!-- next adds to reflections list --> | |
| if(document.getElementById('reflections').innerHTML.toString().search(temped) < 0 && document.getElementById('reflections').innerHTML.toString().search(huff) < 0){ | |
| if(document.getElementById('reflections').innerHTML.toString().search(tamped) < 0 && document.getElementById('reflections').innerHTML.toString().search(nothuff) < 0){ | |
| if(griff === 0){ | |
| rubbish = document.getElementById('newi').innerHTML.toString() + "]" + document.getElementById('endi').innerHTML + "!" + document.getElementById('newe').innerHTML.toString() + "]" + document.getElementById('ende').innerHTML; | |
| } | |
| else{ | |
| rubbish = "!!" + document.getElementById('newi'+griff).innerHTML.toString() + "]" + document.getElementById('endi'+griff).innerHTML + "!" + document.getElementById('newe'+griff).innerHTML.toString() + "]" + document.getElementById('ende'+griff).innerHTML; | |
| } | |
| groupings.push(rubbish); | |
| document.getElementById('reflections').innerHTML += ", " + temped + ", " + tamped + ", " + huff + ", " + nothuff; | |
| } | |
| } | |
| griff = Number(griff) + 1; //keep the grift going | |
| }while(griff <= 7); | |
| griff = 0; //griff reset | |
| //BUG FOUND ABSOLUTE OPPOSITES ARE PLACED WHEN THEY SHOULD ONLY BE REFLECTIONS SOMETIMES DOES NOT HAPPEN | |
| if(document.getElementById('duff').innerHTML.search('L'+len) === Number(-1)){ //must not be present already | |
| document.getElementById('duff').innerHTML += " <span onclick='checker("+len+")'><span id='l"+len+"' title='Click to View Found Length-"+len+" OMNI' >L"+len+"</span><span id='hl"+len+"' style='display:none' >"+groupings+"</span> (<span id='l"+len+"v' title='Number of L"+len+" OMNI Found' style='color:white'>"+groupings.length+"</span>)</span> "; | |
| if(Number(document.getElementById('lengthis').innerHTML % 5) === 0){ <!-- only allows up to 5 Length Notifiers per line at bottom of page --> | |
| document.getElementById('duff').innerHTML += "</br></br>"; | |
| } | |
| } | |
| else{ //if the size exist, just add it in! | |
| if(document.getElementById('l'+len+'v').style.color !== "gold" && document.getElementById('hl'+len).innerHTML.toString().search(groupings) < 0){ //only add in new data to the L# section | |
| document.getElementById('hl'+len).innerHTML += "!!" + groupings; | |
| wasnum = document.getElementById('hl'+len).innerHTML.toString().match(/\!{2}/g).length; | |
| document.getElementById('l'+len+'v').innerHTML = Math.abs(Number(wasnum) + 1); | |
| wasnum = 0; | |
| } | |
| } | |
| } | |
| if(document.getElementById('duff').innerHTML.split(/\W\Wnbsp\W/gm).length > 3){ //looks for L2+ threshold | |
| if(document.getElementById('hl2').innerHTML.split(/\!/gm).length >= 1){ <!-- specifically finds if all dominoies were found --> | |
| document.getElementById('l2v').style.color = 'gold'; | |
| document.getElementById('l2v').title = 'All L2 OMNI Found'; | |
| } | |
| if(document.getElementById('duff').innerHTML.split(/\W\Wnbsp\W/gm).length > 5){ //looks for L3+ threshold | |
| // <!-- below are the pushes --> | |
| var temprep = ""+id0+"!"+id1+""; //<!-- basic push first var setup (blank_A!B_blank) --> | |
| push(temprep,gen); //<!-- pushes --> | |
| if(document.getElementById('am').innerHTML.search(/\!\d/g) >= 0 && Number(gen) <= Number(document.getElementById('sc').innerHTML)){ | |
| if(document.getElementById('am').innerHTML.toString().search(/\!/gm) >= 0){ | |
| do{ | |
| var jimpuff = document.getElementById('am').innerHTML; | |
| var janepuff = document.getElementById('rh').innerHTML; | |
| var jplen = jimpuff.split(/\!{2}/g).length; | |
| var tprep = "o"+jimpuff.split(/\!{2}/g)[1].split(/\+/)[0]+"o"+jimpuff.split(/\!{2}/g)[1].split(/\+/)[1].split(/\!/)[0]+""; | |
| document.getElementById('rh').innerHTML += "!!" + ""+jimpuff.split(/\!{2}/g)[1].split(/\+/)[0]+"+"+jimpuff.split(/\!{2}/g)[1].split(/\+/)[1].split(/\!/)[0]+"" + ""; | |
| ngen = Number(gen) + Number(document.getElementById('sc').innerHTML); | |
| document.getElementById('sc').innerHTML = ngen; | |
| colorme(tprep,ngen); <!-- algo-move pushes --> | |
| document.getElementById('am').innerHTML = jimpuff.replace("!!"+jimpuff.split(/\!{2}/g)[1], ""); //remove what we just "did" | |
| }while(document.getElementById('am').innerHTML.search(/\!/) >= 0); | |
| document.getElementById('sc').innerHTML = 1; //sc reset | |
| } | |
| } //if am not empty end | |
| if (document.getElementById('am').innerHTML.search(/\!\d/g) >= 0 && Number(gen) < Number(document.getElementById('sc').innerHTML)) { | |
| finder(id, Number(gen) + 1); // reaching for Deeper levels | |
| //we are not going deeper to old spots we've seen, this should happen | |
| //BUG FOUND SYSTEM TAKES DOESN'T EXPAND ON ALL OLD PURPLE POISITIONS WHEN POSSIBLE TO IN THE FUTURE BUT DOES CONTINUE TO LOOK FOR NEW POSSIBLE MISSED MOVES | |
| //deeper pushes are only seen in the reflections sections to help readability on the user's end | |
| } | |
| //document.getElementById('notes').innerHTML = ""+jimpuff.split(/\!{2}/g)[jp].split(/\+/)[0]+""+jimpuff.split(/\!{2}/g)[jp].split(/\+/)[1]+""; //debugger | |
| //<!--below this is looking for all of a Length--> | |
| if(document.getElementById('hl3').innerHTML.split(/\!/gm).length >= 3){ //<!-- specifically finds if all triominoes were found --> | |
| document.getElementById('l3v').style.color = 'gold'; | |
| document.getElementById('l3v').title = 'All L3 OMNI Found'; | |
| } | |
| //add in lext Length check for all there should be a mathematical way to determine if full | |
| //might use wiki for the first 12 (cause they have total sums listed but we only want when new shapes not reflections) | |
| //BUG FOUND NOT ALL CAPS ARE MATHEMATICALLY DETERMINED WHEN THEY SHOULD BE, FIND A WAY MATHS TO DETERMINE POSSIBLE CAP OF L# LENGTH AND ADD IN A WAY TO SHOW WE'VE SURPASSED POSSIBLE CAP (SHOWING POSSIBLY NEW SHAPES) | |
| } //end of L3+ look | |
| document.getElementById('display').innerHTML = " Your Length so far is: "+document.getElementById('lengthis').innerHTML+"</br></br> Alt-Moves found so far are: "+document.getElementById('altsare').innerHTML+" </br></br>"; | |
| } //end of L2+ look | |
| } //end of finder funciton | |
| function checker(len){// <!-- views stored OMNIs --> | |
| var lener = document.getElementById('lengthis').innerHTML; | |
| //<!-- automated push below --> | |
| document.getElementById('display').innerHTML = "<h3><hr style='width:25vw'>L"+len+" OMNI:</h3></br>"+document.getElementById('hl'+len).innerHTML.toString().replace(/\[/gm, '[<span id='+len+' title=MOVE_MADE >').replace(/\,/gm, '</span>,<span id='+len+' title=MOVE_MADE >').replace(/\]/gm, '</span>]').replace(/\!/gm, "</br>")+"<hr style='width:25vw'><button onclick='document.getElementById("display").innerHTML="Your Length so far is: "+lener+" ";'>close</button></br>"; | |
| //<!-- user push below --> | |
| //document.getElementById('display').innerHTML = "<h3><hr style='width:25vw'>L"+len+" OMNI:</h3></br>"+document.getElementById('hl'+len).innerHTML.toString().replace(/\[/gm, '[<span id='+len+' onclick=push(this.innerHTML) title=CLICK_2_PUSH >').replace(/\,/gm, '</span>,<span id='+len+' onclick=push(this.innerHTML) title=CLICK_2_PUSH >').replace(/\]/gm, '</span>]').replace(/\!/gm, "</br>")+"<hr style='width:25vw'><button onclick='document.getElementById("display").innerHTML="Your Length so far is: "+lener+" ";'>close</button></br>"; | |
| //BUG FOUND USER PUSH NEVER WORKED PROPERLY WAS COMMENTED OUT FOR NOW | |
| } | |
| function push(insides,gen){ //insides === X ! Y | |
| document.getElementById('display').innerHTML = "Checking for alternative moves..."; | |
| var graphlen = document.getElementById('history').innerHTML; | |
| var oneplus = Number(document.getElementById('history').innerHTML) + 1; | |
| var roundcheck = document.getElementById('rc').innerHTML; | |
| var alpha = 1, tick = 0, colorguide = ''; | |
| if(gen === 0){ | |
| var x = insides.split(/\!/g)[0]; | |
| var y = insides.split(/\!/g)[1]; | |
| } | |
| if(gen >= 1){ | |
| var x = insides.split(/\!/g)[1]; | |
| var y = insides.split(/\!/g)[0]; | |
| } | |
| var xpush0 = 0, ypush0 = 0, xpush1 = -1, ypush1 = -1, xpush2 = 1, ypush2 = 1; | |
| var check1 = 0, check2 = 0, check3 = 0, check4 = 0, check5 = 0, check6 = 0, check7 = 0, check8 = 0, wasnum = ''; | |
| var newcolor = Math.abs(107 - Number(Math.abs(Number(gen) + 13.69).toString().split(/\./g)[0])); | |
| if(gen >= 1){ | |
| colorguide = "purple"; //gen1 [purple] | |
| } | |
| else{ | |
| colorguide = "orange"; //gen0 [ornage] | |
| } | |
| check1 = Math.abs(Number(check1) + Number(x) + Number(xpush1)); | |
| check2 = Math.abs(Number(check2) + Number(y) + Number(ypush1)); | |
| <!-- the above checks top left --> | |
| var qcheck1a = Math.abs(Number(check1)+1); | |
| var qcheck2a = Math.abs(Number(check2)+1); | |
| var qcheck1b = Math.abs(Number(check1)-1); | |
| var qcheck2b = Math.abs(Number(check2)-1); | |
| check3 = Math.abs(Number(check3) + Number(x) + Number(xpush2)); | |
| check4 = Math.abs(Number(check4) + Number(y) + Number(ypush2)); | |
| <!-- the above checks top right --> | |
| var qcheck3a = Math.abs(Number(check3)+1); | |
| var qcheck4a = Math.abs(Number(check4)+1); | |
| var qcheck3b = Math.abs(Number(check3)-1); | |
| var qcheck4b = Math.abs(Number(check4)-1); | |
| check5 = Math.abs(Number(check5) + Number(x) + Number(xpush1)); | |
| check6 = Math.abs(Number(check6) + Number(y) + Number(ypush2)); | |
| <!-- the above checks bottom left --> | |
| var qcheck5a = Math.abs(Number(check5)+1); | |
| var qcheck6a = Math.abs(Number(check6)+1); | |
| var qcheck5b = Math.abs(Number(check5)-1); | |
| var qcheck6b = Math.abs(Number(check6)-1); | |
| check7 = Math.abs(Number(check7) + Number(x) + Number(xpush2)); | |
| check8 = Math.abs(Number(check8) + Number(y) + Number(ypush1)); | |
| <!-- the above checks bottom right --> | |
| var qcheck7a = Math.abs(Number(check7)+1); | |
| var qcheck8a = Math.abs(Number(check8)+1); | |
| var qcheck7b = Math.abs(Number(check7)-1); | |
| var qcheck8b = Math.abs(Number(check8)-1); | |
| var herebe = document.getElementById('lengthis').innerHTML; | |
| var wherebe = 'hl'+herebe, wasbe = '', waslen = '', tolen = '', haslen = '', washas = '', growto = 'l'+herebe+'v'; | |
| do{ | |
| if(check1 <= 0){ | |
| check1 = Math.abs(Number(check1) + Number(graphlen)); | |
| } | |
| if(check1 >= oneplus){ | |
| check1 = Math.abs(Number(check1) - Number(graphlen)); | |
| } | |
| }while(check1 > Number(graphlen) || check1 < 1); | |
| do{ | |
| if(check2 <= 0){ | |
| check2 = Math.abs(Number(check2) + Number(graphlen)); | |
| } | |
| if(check2 >= oneplus){ | |
| check2 = Math.abs(Number(check2) - Number(graphlen)); | |
| } | |
| }while(check2 > Number(graphlen) || check2 < 1); | |
| do{ | |
| if(qcheck1a <= 0){ | |
| qcheck1a = Math.abs(Number(qcheck1a) + Number(graphlen)); | |
| } | |
| if(qcheck1a >= oneplus){ | |
| qcheck1a = Math.abs(Number(qcheck1a) - Number(graphlen)); | |
| } | |
| }while(qcheck1a > Number(graphlen) || qcheck1a < 1); | |
| do{ | |
| if(qcheck2a <= 0){ | |
| qcheck2a = Math.abs(Number(qcheck2a) + Number(graphlen)); | |
| } | |
| if(qcheck2a >= oneplus){ | |
| qcheck2a = Math.abs(Number(qcheck2a) - Number(graphlen)); | |
| } | |
| }while(qcheck2a > Number(graphlen) || qcheck2a < 1); | |
| do{ | |
| if(qcheck1b <= 0){ | |
| qcheck1b = Math.abs(Number(qcheck1b) + Number(graphlen)); | |
| } | |
| if(qcheck1b >= oneplus){ | |
| qcheck1b = Math.abs(Number(qcheck1b) - Number(graphlen)); | |
| } | |
| }while(qcheck1b > Number(graphlen) || qcheck1b < 1); | |
| do{ | |
| if(qcheck2b <= 0){ | |
| qcheck2b = Math.abs(Number(qcheck2b) + Number(graphlen)); | |
| } | |
| if(qcheck2b >= oneplus){ | |
| qcheck2b = Math.abs(Number(qcheck2b) - Number(graphlen)); | |
| } | |
| }while(qcheck2b > Number(graphlen) || qcheck2b < 1); | |
| do{ | |
| if(check3 <= 0){ | |
| check3 = Math.abs(Number(check3) + Number(graphlen)); | |
| } | |
| if(check3 >= oneplus){ | |
| check3 = Math.abs(Number(check3) - Number(graphlen)); | |
| } | |
| }while(check3 > Number(graphlen) || check3 < 1); | |
| do{ | |
| if(check4 <= 0){ | |
| check4 = Math.abs(Number(check4) + Number(graphlen)); | |
| } | |
| if(check4 >= oneplus){ | |
| check4 = Math.abs(Number(check4) - Number(graphlen)); | |
| } | |
| }while(check4 > Number(graphlen) || check4 < 1); | |
| do{ | |
| if(qcheck3a <= 0){ | |
| qcheck3a = Math.abs(Number(qcheck3a) + Number(graphlen)); | |
| } | |
| if(qcheck3a >= oneplus){ | |
| qcheck3a = Math.abs(Number(qcheck3a) - Number(graphlen)); | |
| } | |
| }while(qcheck3a > Number(graphlen) || qcheck3a < 1); | |
| do{ | |
| if(qcheck4a <= 0){ | |
| qcheck4a = Math.abs(Number(qcheck4a) + Number(graphlen)); | |
| } | |
| if(qcheck4a >= oneplus){ | |
| qcheck4a = Math.abs(Number(qcheck4a) - Number(graphlen)); | |
| } | |
| }while(qcheck4a > Number(graphlen) || qcheck4a < 1); | |
| do{ | |
| if(qcheck3b <= 0){ | |
| qcheck3b = Math.abs(Number(qcheck3b) + Number(graphlen)); | |
| } | |
| if(qcheck3b >= oneplus){ | |
| qcheck3b = Math.abs(Number(qcheck3b) - Number(graphlen)); | |
| } | |
| }while(qcheck3b > Number(graphlen) || qcheck3b < 1); | |
| do{ | |
| if(qcheck4b <= 0){ | |
| qcheck4b = Math.abs(Number(qcheck4b) + Number(graphlen)); | |
| } | |
| if(qcheck4b >= oneplus){ | |
| qcheck4b = Math.abs(Number(qcheck4b) - Number(graphlen)); | |
| } | |
| }while(qcheck4b > Number(graphlen) || qcheck4b < 1); | |
| do{ | |
| if(check5 <= 0){ | |
| check5 = Math.abs(Number(check5) + Number(graphlen)); | |
| } | |
| if(check5 >= oneplus){ | |
| check5 = Math.abs(Number(check5) - Number(graphlen)); | |
| } | |
| }while(check5 > Number(graphlen) || check5 < 1); | |
| do{ | |
| if(check6 <= 0){ | |
| check6 = Math.abs(Number(check6) + Number(graphlen)); | |
| } | |
| if(check6 >= oneplus){ | |
| check6 = Math.abs(Number(check6) - Number(graphlen)); | |
| } | |
| }while(check6 > Number(graphlen) || check6 < 1); | |
| do{ | |
| if(qcheck5a <= 0){ | |
| qcheck5a = Math.abs(Number(qcheck5a) + Number(graphlen)); | |
| } | |
| if(qcheck5a >= oneplus){ | |
| qcheck5a = Math.abs(Number(qcheck5a) - Number(graphlen)); | |
| } | |
| }while(qcheck5a > Number(graphlen) || qcheck5a < 1); | |
| do{ | |
| if(qcheck6a <= 0){ | |
| qcheck6a = Math.abs(Number(qcheck6a) + Number(graphlen)); | |
| } | |
| if(qcheck6a >= oneplus){ | |
| qcheck6a = Math.abs(Number(qcheck6a) - Number(graphlen)); | |
| } | |
| }while(qcheck6a > Number(graphlen) || qcheck6a < 1); | |
| do{ | |
| if(qcheck5b <= 0){ | |
| qcheck5b = Math.abs(Number(qcheck5b) + Number(graphlen)); | |
| } | |
| if(qcheck5b >= oneplus){ | |
| qcheck5b = Math.abs(Number(qcheck5b) - Number(graphlen)); | |
| } | |
| }while(qcheck5b > Number(graphlen) || qcheck5b < 1); | |
| do{ | |
| if(qcheck6b <= 0){ | |
| qcheck6b = Math.abs(Number(qcheck6b) + Number(graphlen)); | |
| } | |
| if(qcheck6b >= oneplus){ | |
| qcheck6b = Math.abs(Number(qcheck6b) - Number(graphlen)); | |
| } | |
| }while(qcheck6b > Number(graphlen) || qcheck6b < 1); | |
| do{ | |
| if(check7 <= 0){ | |
| check7 = Math.abs(Number(check7) + Number(graphlen)); | |
| } | |
| if(check7 >= oneplus){ | |
| check7 = Math.abs(Number(check7) - Number(graphlen)); | |
| } | |
| }while(check7 > Number(graphlen) || check7 < 1); | |
| do{ | |
| if(check8 <= 0){ | |
| check8 = Math.abs(Number(check8) + Number(graphlen)); | |
| } | |
| if(check8 >= oneplus){ | |
| check8 = Math.abs(Number(check8) - Number(graphlen)); | |
| } | |
| }while(check8 > Number(graphlen) || check8 < 1); | |
| do{ | |
| if(qcheck7a <= 0){ | |
| qcheck7a = Math.abs(Number(qcheck7a) + Number(graphlen)); | |
| } | |
| if(qcheck7a >= oneplus){ | |
| qcheck7a = Math.abs(Number(qcheck7a) - Number(graphlen)); | |
| } | |
| }while(qcheck7a > Number(graphlen) || qcheck7a < 1); | |
| do{ | |
| if(qcheck8a <= 0){ | |
| qcheck8a = Math.abs(Number(qcheck8a) + Number(graphlen)); | |
| } | |
| if(qcheck8a >= oneplus){ | |
| qcheck8a = Math.abs(Number(qcheck8a) - Number(graphlen)); | |
| } | |
| }while(qcheck8a > Number(graphlen) || qcheck8a < 1); | |
| do{ | |
| if(qcheck7b <= 0){ | |
| qcheck7b = Math.abs(Number(qcheck7b) + Number(graphlen)); | |
| } | |
| if(qcheck7b >= oneplus){ | |
| qcheck7b = Math.abs(Number(qcheck7b) - Number(graphlen)); | |
| } | |
| }while(qcheck7b > Number(graphlen) || qcheck7b < 1); | |
| do{ | |
| if(qcheck8b <= 0){ | |
| qcheck8b = Math.abs(Number(qcheck8b) + Number(graphlen)); | |
| } | |
| if(qcheck8b >= oneplus){ | |
| qcheck8b = Math.abs(Number(qcheck8b) - Number(graphlen)); | |
| } | |
| }while(qcheck8b > Number(graphlen) || qcheck8b < 1); | |
| var cname = "o"+check2+"o"+check1; | |
| var qname1a = "o"+qcheck2a+"o"+check1; | |
| var qname2a = "o"+check2+"o"+qcheck1a; | |
| var qname1b = "o"+qcheck2b+"o"+check1; | |
| var qname2b = "o"+check2+"o"+qcheck1b; | |
| var cname2 = "o"+check4+"o"+check3; | |
| var qname3a = "o"+qcheck4a+"o"+check3; | |
| var qname4a = "o"+check4+"o"+qcheck3a; | |
| var qname3b = "o"+qcheck4b+"o"+check3; | |
| var qname4b = "o"+check4+"o"+qcheck3b; | |
| var cname3 = "o"+check6+"o"+check5; | |
| var qname5a = "o"+qcheck6a+"o"+check5; | |
| var qname6a = "o"+check6+"o"+qcheck5a; | |
| var qname5b = "o"+qcheck6b+"o"+check5; | |
| var qname6b = "o"+check6+"o"+qcheck5b; | |
| var cname4 = "o"+check8+"o"+check7; | |
| var qname7a = "o"+qcheck8a+"o"+check7; | |
| var qname8a = "o"+check8+"o"+qcheck7a; | |
| var qname7b = "o"+qcheck8b+"o"+check7; | |
| var qname8b = "o"+check8+"o"+qcheck7b; | |
| wasbe = document.getElementById(wherebe).innerHTML; | |
| waslen = wasbe.split(/\!{2}/).length; | |
| tolen = Number(waslen) - 1; | |
| if(tolen.toString().search(/\-/) >= 0){ | |
| tolen = tolen.toString().replace(/\-/, ''); | |
| } | |
| wasbe = wasbe.split(/\!{2}/)[0]; | |
| haslen = Math.abs(Number(wasbe.split(/\]/)[0].split(/\,/gm).length)); //haslen is real length | |
| washas = Math.abs(Number(haslen) - 2); //2 less than real length | |
| var quiqin = '', kuikin = '', quikin = '', kuiqin = ''; | |
| // document.getElementById('notes').innerHTML = wasbe.split(/\]/)[0].split(/\[/)[1].split(/\,/g)[washas]; //debugger | |
| for(sif = 0; sif<washas;sif++){ | |
| quiqin += wasbe.split(/\!/)[0].split(/\]/)[0].split(/\[/)[1].split(/\,/g)[sif] + ","; //re-writes insides except last bit | |
| quikin += Number(0 - Number(wasbe.split(/\!/)[0].split(/\]/)[0].split(/\[/)[1].split(/\,/g)[sif])) + ","; //re-writes insides except last bit | |
| if(quikin.search(/\-0/gm) >= 0){ | |
| quikin = quikin.replace(/\-0/gm, 0); | |
| } | |
| } | |
| for(qif = 0; qif<washas;qif++){ | |
| kuikin += wasbe.split(/\!/)[1].split(/\]/)[0].split(/\[/)[1].split(/\,/g)[qif] + ","; //re-writes insides except last bit | |
| kuiqin += Number(0 - Number(wasbe.split(/\!/)[1].split(/\]/)[0].split(/\[/)[1].split(/\,/g)[qif])) + ","; //re-writes insides except last bit | |
| if(kuiqin.search(/\-0/gm) >= 0){ | |
| kuiqin = kuiqin.replace(/\-0/gm, 0); | |
| } | |
| } | |
| if(document.getElementById(cname).innerHTML.toString().search(/\d/) >= 0 && Number(document.getElementById('rc').innerHTML) <= 1 && document.getElementById('l'+document.getElementById('lengthis').innerHTML+'v').style.color !== "gold" || gen >= 1){ | |
| if(document.getElementById(qname1a).innerHTML === "□" || document.getElementById(qname2a).innerHTML === "□" || document.getElementById(qname1b).innerHTML === "□" || document.getElementById(qname2b).innerHTML === "□"){ | |
| sauce = Number(check2) - Number(Number(document.getElementById('endi').innerHTML) - Number(document.getElementById('newi').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[washas])); | |
| cheese = Number(check1) - Number(Number(document.getElementById('ende').innerHTML) - Number(document.getElementById('newe').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[washas])); | |
| var nohere = ", " + quiqin + "" + sauce + ",!" + kuikin + "" + cheese + ","; | |
| var anihere = ", " + quikin + "" + Number(0 - Number(sauce)) + ",!" + kuiqin + "" + Number(0 - Number(cheese)) + ","; | |
| var nohere2 = ", " + kuikin + "" + cheese + ",!" + quiqin + "" + sauce + ","; | |
| var anihere2 = ", " + kuiqin + "" + Number(0 - Number(cheese)) + ",!" + quikin + "" + Number(0 - Number(sauce)) + ","; | |
| if(document.getElementById('reflections').innerHTML.toString().search(nohere) < 0 && document.getElementById('reflections').innerHTML.toString().search(nohere2) < 0){ | |
| document.getElementById(wherebe).innerHTML += "!!" + wasbe.split(/\!/)[0].split(/\[/)[0] + "[" + quiqin + "" + "<span style='color:"+colorguide+";' title='PUSHED_MOVE'>" + sauce + "</span>,]" + check2 + "!" + wasbe.split(/\!/)[1].split(/\[/)[0] + "[" + kuikin + "" + "<span style='color:"+colorguide+";' title='PUSHED_MOVE'>" + cheese + "</span>,]" + check1; | |
| document.getElementById('reflections').innerHTML += "" + nohere + "" + nohere2; | |
| if(document.getElementById('reflections').innerHTML.toString().search(anihere) < 0 && document.getElementById('reflections').innerHTML.toString().search(anihere2) < 0){ | |
| document.getElementById('reflections').innerHTML += "" + anihere + "" + anihere2; | |
| } | |
| wasnum = document.getElementById(wherebe).innerHTML.toString().match(/\!{2}/g).length; | |
| document.getElementById(growto).innerHTML = Math.abs(Number(wasnum) + 1); | |
| wasnum = ''; | |
| } | |
| var xer = check2; | |
| var yer = check1; | |
| var changeit = "o"+xer+"o"+yer; | |
| if(document.getElementById(changeit).innerHTML !== "□"){ | |
| document.getElementById(changeit).style.color="rgba(255,127,"+newcolor+",1)"; | |
| reflections(xer,yer,gen); | |
| document.getElementById('rc').innerHTML = Number(roundcheck + 2); | |
| roundcheck = Number(roundcheck + 2); | |
| document.getElementById('display').innerHTML = "Move Found!"; | |
| var oino = document.getElementById('altsare').innerHTML; | |
| document.getElementById('altsare').innerHTML = Number(oino) + 1; | |
| } | |
| //below looks for new potential moves | |
| if(document.getElementById(qname1a).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname1a).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(document.getElementById(qname2a).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname2a).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(document.getElementById(qname1b).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname1b).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(document.getElementById(qname2b).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname2b).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(tick >= 1){ | |
| document.getElementById('am').innerHTML += "!!"+xer+"+"+yer+"!"+tick+"+"+gen; | |
| } | |
| } | |
| tick = 0; | |
| document.getElementById('display').innerHTML = "Checking for alternative moves..."; | |
| } | |
| //BUG FOUND NOT FINDING ALL NEW POTENTIAL MOVES BUT ONLY NEW MOVES NEVER CONSIDERED NOT NEW NEVER CONSIDERED EXPANDED ONTO NOR SEEN POSSIBLE EXPANDED PAST OTHERS | |
| if(document.getElementById(cname2).innerHTML.toString().search(/\d/) >= 0 && Number(document.getElementById('rc').innerHTML) < herebe && document.getElementById('l'+document.getElementById('lengthis').innerHTML+'v').style.color !== "gold"){ | |
| if(document.getElementById(qname3a).innerHTML === "□" || document.getElementById(qname4a).innerHTML === "□" || document.getElementById(qname3b).innerHTML === "□" || document.getElementById(qname4b).innerHTML === "□"){ | |
| sauce = Number(check4) - Number(Number(document.getElementById('endi').innerHTML) - Number(document.getElementById('newi').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[washas])); | |
| cheese = Number(check3) - Number(Number(document.getElementById('ende').innerHTML) - Number(document.getElementById('newe').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[washas])); | |
| var nohere = ", " + quiqin + "" + sauce + ",!" + kuikin + "" + cheese + ","; | |
| var anihere = ", " + quikin + "" + Number(0 - Number(sauce)) + ",!" + kuiqin + "" + Number(0 - Number(cheese)) + ","; | |
| var nohere2 = ", " + kuikin + "" + cheese + ",!" + quiqin + "" + sauce + ","; | |
| var anihere2 = ", " + kuiqin + "" + Number(0 - Number(cheese)) + ",!" + quikin + "" + Number(0 - Number(sauce)) + ","; | |
| if(document.getElementById('reflections').innerHTML.toString().search(nohere) < 0 && document.getElementById('reflections').innerHTML.toString().search(nohere2) < 0){ | |
| document.getElementById(wherebe).innerHTML += "!!" + wasbe.split(/\!/)[0].split(/\[/)[0] + "[" + quiqin + "" + "<span style='color:"+colorguide+";' title='PUSHED_MOVE'>" + sauce + "</span>,]" + check4 + "!" + wasbe.split(/\!/)[1].split(/\[/)[0] + "[" + kuikin + "" + "<span style='color:"+colorguide+";' title='PUSHED_MOVE'>" + cheese + "</span>,]" + check3; | |
| document.getElementById('reflections').innerHTML += ", " + nohere + ", " + nohere2; | |
| if(document.getElementById('reflections').innerHTML.toString().search(anihere) < 0 && document.getElementById('reflections').innerHTML.toString().search(anihere2) < 0){ | |
| document.getElementById('reflections').innerHTML += ", " + anihere + ", " + anihere2; | |
| } | |
| wasnum = document.getElementById(wherebe).innerHTML.toString().match(/\!{2}/g).length; | |
| document.getElementById(growto).innerHTML = Math.abs(Number(wasnum) + 1); | |
| wasnum = ''; | |
| } | |
| var yer = check4; | |
| var xer = check3; | |
| var changeit = "o"+yer+"o"+xer; | |
| if(document.getElementById(changeit).innerHTML !== "□"){ | |
| document.getElementById(changeit).style.color="rgba(255,127,"+newcolor+",1)"; | |
| reflections(yer,xer,gen); | |
| document.getElementById('rc').innerHTML = Number(roundcheck + 2); | |
| roundcheck = Number(roundcheck + 2); | |
| document.getElementById('display').innerHTML = "Move Found!"; | |
| var oino = document.getElementById('altsare').innerHTML; | |
| document.getElementById('altsare').innerHTML = Number(oino) + 1; | |
| } | |
| //below looks for new potential moves | |
| if(document.getElementById(qname3a).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname3a).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(document.getElementById(qname4a).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname4a).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(document.getElementById(qname3b).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname3b).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(document.getElementById(qname4b).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname4b).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(tick >= 1){ | |
| document.getElementById('am').innerHTML += "!!"+yer+"+"+xer+"!"+tick+"+"+gen; | |
| } | |
| } | |
| tick = 0; | |
| document.getElementById('display').innerHTML = "Checking for alternative moves..."; | |
| } | |
| //BUG FOUND NOT FINDING ALL NEW POTENTIAL MOVES BUT ONLY NEW MOVES NEVER CONSIDERED NOT NEW NEVER CONSIDERED EXPANDED ONTO NOR SEEN POSSIBLE EXPANDED PAST OTHERS | |
| if(document.getElementById(cname3).innerHTML.toString().search(/\d/) >= 0 && Number(document.getElementById('rc').innerHTML) < herebe && document.getElementById('l'+document.getElementById('lengthis').innerHTML+'v').style.color !== "gold"){ | |
| if(document.getElementById(qname5a).innerHTML === "□" || document.getElementById(qname6a).innerHTML === "□" || document.getElementById(qname5b).innerHTML === "□" || document.getElementById(qname6b).innerHTML === "□"){ | |
| sauce = Number(check6) - Number(Number(document.getElementById('endi').innerHTML) - Number(document.getElementById('newi').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[washas])); | |
| cheese = Number(check5) - Number(Number(document.getElementById('ende').innerHTML) - Number(document.getElementById('newe').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[washas])); | |
| var nohere = ", " + quiqin + "" + sauce + ",!" + kuikin + "" + cheese + ","; | |
| var anihere = ", " + quikin + "" + Number(0 - Number(sauce)) + ",!" + kuiqin + "" + Number(0 - Number(cheese)) + ","; | |
| var nohere2 = ", " + kuikin + "" + cheese + ",!" + quiqin + "" + sauce + ","; | |
| var anihere2 = ", " + kuiqin + "" + Number(0 - Number(cheese)) + ",!" + quikin + "" + Number(0 - Number(sauce)) + ","; | |
| if(document.getElementById('reflections').innerHTML.toString().search(nohere) < 0 && document.getElementById('reflections').innerHTML.toString().search(nohere2) < 0){ | |
| document.getElementById(wherebe).innerHTML += "!!" + wasbe.split(/\!/)[0].split(/\[/)[0] + "[" + quiqin + "" + "<span style='color:"+colorguide+";' title='PUSHED_MOVE'>" + sauce + "</span>,]" + check6 + "!" + wasbe.split(/\!/)[1].split(/\[/)[0] + "[" + kuikin + "" + "<span style='color:"+colorguide+";' title='PUSHED_MOVE'>" + cheese + "</span>,]" + check5; | |
| document.getElementById('reflections').innerHTML += ", " + nohere + ", " + nohere2; | |
| if(document.getElementById('reflections').innerHTML.toString().search(anihere) < 0 && document.getElementById('reflections').innerHTML.toString().search(anihere2) < 0){ | |
| document.getElementById('reflections').innerHTML += ", " + anihere + ", " + anihere2; | |
| } | |
| wasnum = document.getElementById(wherebe).innerHTML.toString().match(/\!{2}/g).length; | |
| document.getElementById(growto).innerHTML = Math.abs(Number(wasnum) + 1); | |
| wasnum = ''; | |
| } | |
| var yer = check5; | |
| var xer = check6; | |
| var changeit = "o"+xer+"o"+yer; | |
| if(document.getElementById(changeit).innerHTML !== "□"){ | |
| document.getElementById(changeit).style.color="rgba(255,127,"+newcolor+",1)"; | |
| reflections(xer,yer,gen); | |
| document.getElementById('rc').innerHTML = Number(roundcheck + 2); | |
| roundcheck = Number(roundcheck + 2); | |
| document.getElementById('display').innerHTML = "Move Found!"; | |
| var oino = document.getElementById('altsare').innerHTML; | |
| document.getElementById('altsare').innerHTML = Number(oino) + 1; | |
| } | |
| //below looks for new potential moves | |
| if(document.getElementById(qname5a).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname5a).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(document.getElementById(qname6a).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname6a).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(document.getElementById(qname5b).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname5b).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(document.getElementById(qname6b).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname6b).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(tick >= 1){ | |
| document.getElementById('am').innerHTML += "!!"+xer+"+"+yer+"!"+tick+"+"+gen; | |
| } | |
| } | |
| tick = 0; | |
| document.getElementById('display').innerHTML = "Checking for alternative moves..."; | |
| } | |
| //BUG FOUND NOT FINDING ALL NEW POTENTIAL MOVES BUT ONLY NEW MOVES NEVER CONSIDERED NOT NEW NEVER CONSIDERED EXPANDED ONTO NOR SEEN POSSIBLE EXPANDED PAST OTHERS | |
| if(document.getElementById(cname4).innerHTML.toString().search(/\d/) >= 0 && Number(document.getElementById('rc').innerHTML) < herebe && document.getElementById('l'+document.getElementById('lengthis').innerHTML+'v').style.color !== "gold"){ | |
| if(document.getElementById(qname7a).innerHTML === "□" || document.getElementById(qname8a).innerHTML === "□" || document.getElementById(qname7b).innerHTML === "□" || document.getElementById(qname8b).innerHTML === "□"){ | |
| sauce = Number(check8) - Number(Number(document.getElementById('endi').innerHTML) - Number(document.getElementById('newi').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[washas])); | |
| cheese = Number(check7) - Number(Number(document.getElementById('ende').innerHTML) - Number(document.getElementById('newe').innerHTML.split(/\[/)[1].split(/\,{2}/gm)[0].split(/\,/g)[washas])); | |
| var nohere = ", " + quiqin + "" + sauce + ",!" + kuikin + "" + cheese + ","; | |
| var anihere = ", " + quikin + "" + Number(0 - Number(sauce)) + ",!" + kuiqin + "" + Number(0 - Number(cheese)) + ","; | |
| var nohere2 = ", " + kuikin + "" + cheese + ",!" + quiqin + "" + sauce + ","; | |
| var anihere2 = ", " + kuiqin + "" + Number(0 - Number(cheese)) + ",!" + quikin + "" + Number(0 - Number(sauce)) + ","; | |
| if(document.getElementById('reflections').innerHTML.toString().search(nohere) < 0 && document.getElementById('reflections').innerHTML.toString().search(nohere2) < 0){ | |
| document.getElementById(wherebe).innerHTML += "!!" + wasbe.split(/\!/)[0].split(/\[/)[0] + "[" + quiqin + "" + "<span style='color:"+colorguide+";' title='PUSHED_MOVE'>" + sauce + "</span>,]" + check8 + "!" + wasbe.split(/\!/)[1].split(/\[/)[0] + "[" + kuikin + "" + "<span style='color:"+colorguide+";' title='PUSHED_MOVE'>" + cheese + "</span>,]" + check7; | |
| document.getElementById('reflections').innerHTML += ", " + nohere + ", " + nohere2; | |
| if(document.getElementById('reflections').innerHTML.toString().search(anihere) < 0 && document.getElementById('reflections').innerHTML.toString().search(anihere2) < 0){ | |
| document.getElementById('reflections').innerHTML += ", " + anihere + ", " + anihere2; | |
| } | |
| wasnum = document.getElementById(wherebe).innerHTML.toString().match(/\!{2}/g).length; | |
| document.getElementById(growto).innerHTML = Math.abs(Number(wasnum) + 1); | |
| wasnum = ''; | |
| } | |
| var yer = check8; | |
| var xer = check7; | |
| var changeit = "o"+yer+"o"+xer; | |
| if(document.getElementById(changeit).innerHTML !== "□"){ | |
| document.getElementById(changeit).style.color="rgba(255,127,"+newcolor+",1)"; | |
| reflections(yer,xer,gen); | |
| document.getElementById('rc').innerHTML = Number(roundcheck + 2); | |
| roundcheck = Number(roundcheck + 2); | |
| document.getElementById('display').innerHTML = "Move Found!"; | |
| var oino = document.getElementById('altsare').innerHTML; | |
| document.getElementById('altsare').innerHTML = Number(oino) +1; | |
| } | |
| //below looks for new potential moves | |
| if(document.getElementById(qname7a).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname7a).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(document.getElementById(qname8a).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname8a).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(document.getElementById(qname7b).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname7b).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(document.getElementById(qname8b).innerHTML.toString().search(/\d/) >= 0 && document.getElementById(qname8b).style.color.toString().search('127') >= 0){ | |
| tick = Number(tick) + 1; | |
| } | |
| if(tick >= 1){ | |
| document.getElementById('am').innerHTML += "!!"+yer+"+"+xer+"!"+tick+"+"+gen; | |
| } | |
| } | |
| tick = 0; | |
| document.getElementById('display').innerHTML = "Checking for alternative moves..."; | |
| } | |
| //BUG FOUND NOT FINDING ALL NEW POTENTIAL MOVES BUT ONLY NEW MOVES NEVER CONSIDERED NOT NEW NEVER CONSIDERED EXPANDED ONTO NOR SEEN POSSIBLE EXPANDED PAST OTHERS | |
| document.getElementById('rc').innerHTML = 0; | |
| // document.getElementById('notes').innerHTML = ""; | |
| //debugger | |
| } | |
| //<!--the following function just draws the reflections below the IPB based on the alt-moves placed on the IPB--> | |
| function reflections(xer,yer,gen){ | |
| var graphlen = document.getElementById('history').innerHTML; | |
| var pid = "p"+Number(xer)+"p"+Number(Number(Number(graphlen)-yer)+1), qid = "q"+Number(Number(Number(graphlen)-xer)+1)+"q"+yer, rid = "r"+Number(Number(Number(graphlen)-xer)+1)+"r"+Number(Number(Number(graphlen)-yer)+1), aid = "a"+Number(Number(Number(graphlen)-yer)+1)+"a"+Number(Number(Number(graphlen)-xer)+1), bid = "b"+yer+"b"+Number(Number(Number(graphlen)-xer)+1), cid = "c"+Number(Number(Number(graphlen)-yer)+1)+"c"+Number(xer), did = "d"+Number(yer)+"d"+Number(xer), fid = "f"+Number(xer)+"f"+Number(yer);//did === 7 | |
| var coloradj = Math.abs(87 + Number(Math.abs(Number(gen)*3.14))); //gen0 | |
| var coloradj2 = Math.abs(47 - Number(Math.abs(Number(gen)+13.14))); //gen1 | |
| var colorpicker = ''; | |
| if(gen >= 1){ | |
| colorpicker = "color:rgba(175,"+coloradj2+",175,1)"; //purple | |
| } | |
| else{ | |
| colorpicker = "color:rgba(255,127,"+coloradj+",1)"; //orange | |
| } | |
| if(document.getElementById(pid).innerHTML !== "□"){ | |
| document.getElementById(pid).style = colorpicker; | |
| document.getElementById(pid).innerHTML = "□"; | |
| } | |
| if(document.getElementById(qid).innerHTML !== "□"){ | |
| document.getElementById(qid).style = colorpicker; | |
| document.getElementById(qid).innerHTML = "□"; | |
| } | |
| if(document.getElementById(rid).innerHTML !== "□"){ | |
| document.getElementById(rid).style = colorpicker; | |
| document.getElementById(rid).innerHTML = "□"; | |
| } | |
| if(document.getElementById(aid).innerHTML !== "□"){ | |
| document.getElementById(aid).style = colorpicker; | |
| document.getElementById(aid).innerHTML = "□"; | |
| } | |
| if(document.getElementById(bid).innerHTML !== "□"){ | |
| document.getElementById(bid).style = colorpicker; | |
| document.getElementById(bid).innerHTML = "□"; | |
| } | |
| if(document.getElementById(cid).innerHTML !== "□"){ | |
| document.getElementById(cid).style = colorpicker; | |
| document.getElementById(cid).innerHTML = "□"; | |
| } | |
| if(document.getElementById(did).innerHTML !== "□"){ | |
| document.getElementById(did).style = colorpicker; | |
| document.getElementById(did).innerHTML = "□"; | |
| } | |
| if(document.getElementById(fid).innerHTML !== "□"){ | |
| document.getElementById(fid).style = colorpicker; | |
| document.getElementById(fid).innerHTML = "□"; | |
| } | |
| } //end of reflections alt-moves placer | |
| </script> | |
| </HTML> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment