98 lines
3.2 KiB
Plaintext
98 lines
3.2 KiB
Plaintext
|
|
<HTML>
|
|||
|
|
<HEAD>
|
|||
|
|
<META CHARSET="UTF-8">
|
|||
|
|
<TITLE> ꖅ𖤞ꖅ𖥕ꖅ𖤞ꖅ ◦୦◦◯◦୦◦⠀ ⠀◦୦◦◯◦୦◦ ꖅ𖤞ꖅ𖥕ꖅ𖤞ꖅ </TITLE>
|
|||
|
|
<SCRIPT>
|
|||
|
|
window.ꕤ=84.406022589954030768899117092091000289089388918088900852079/Math.pow(3,4)
|
|||
|
|
|
|||
|
|
function renderInstance(container)
|
|||
|
|
{
|
|||
|
|
MAX_LINES=parseInt(container.dataset.maxLines) || 40
|
|||
|
|
container.textContent=""
|
|||
|
|
|
|||
|
|
G=performance.now()/1000/parseFloat(eval(container.dataset.g))
|
|||
|
|
|
|||
|
|
columns=[]
|
|||
|
|
maxColHeight=0
|
|||
|
|
|
|||
|
|
for (i=Math.floor(G);i>=0;i--)
|
|||
|
|
{
|
|||
|
|
t=i.toString(3) //.replace(/(\..{}).*/,'$1')\\
|
|||
|
|
bars=[...t].map((O,I,H)=>
|
|||
|
|
{
|
|||
|
|
if (O!=='1') return ' '
|
|||
|
|
OO=H.slice(0,I).filter(X=>X==='0'||X==='1'||X==='2').length
|
|||
|
|
return (OO%3===0) ? '🟢' : '🟩'
|
|||
|
|
}
|
|||
|
|
)
|
|||
|
|
columns.push(bars)
|
|||
|
|
maxColHeight=Math.max(maxColHeight,bars.length)
|
|||
|
|
|
|||
|
|
if (columns.length>MAX_LINES*1) break
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
totalRows=maxColHeight
|
|||
|
|
|
|||
|
|
rows=[]
|
|||
|
|
for (row=0;row<totalRows;row++)
|
|||
|
|
{
|
|||
|
|
line=Array(MAX_LINES*2+1).fill(' ')
|
|||
|
|
|
|||
|
|
columns.forEach((col,idx)=>
|
|||
|
|
{
|
|||
|
|
colHeight=col.length
|
|||
|
|
bar=col[colHeight-totalRows+row]
|
|||
|
|
if (!bar) return
|
|||
|
|
L=MAX_LINES-idx
|
|||
|
|
R=MAX_LINES+idx
|
|||
|
|
if (L>= 0) line[L]=bar
|
|||
|
|
if (R<MAX_LINES*2+1) line[R]=bar
|
|||
|
|
}
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
line[MAX_LINES]=(row%3 === 0) ? '⚪' : '⬜'
|
|||
|
|
//' ' : ' '\\
|
|||
|
|
//'⚪' : '⬜'\\
|
|||
|
|
//'🟢' : '🟩'\\
|
|||
|
|
rows.push(line.join(''))
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//middleRow=rows[0]\\
|
|||
|
|
middleRow=rows.reverse()[0]
|
|||
|
|
upward=rows.slice(1)
|
|||
|
|
downward=rows.slice(1).reverse()
|
|||
|
|
;
|
|||
|
|
|
|||
|
|
[...downward, middleRow, ...upward].forEach(line=>
|
|||
|
|
{
|
|||
|
|
div=document.createElement("DIV")
|
|||
|
|
div.textContent=line
|
|||
|
|
div.style.cssText=`WHITE-SPACE:NOWRAP;LINE-HEIGHT:1;COLOR:RGBA(0,244,124,1.148125);TEXT-ALIGN:CENTER`
|
|||
|
|
container.appendChild(div)
|
|||
|
|
}
|
|||
|
|
)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function animate()
|
|||
|
|
{
|
|||
|
|
document.querySelectorAll("[data-palindrome]").forEach(el => renderInstance(el))
|
|||
|
|
requestAnimationFrame(animate)
|
|||
|
|
}
|
|||
|
|
animate()
|
|||
|
|
</SCRIPT>
|
|||
|
|
</HEAD>
|
|||
|
|
|
|||
|
|
<BODY STYLE="MARGIN:0;LINE-HEIGHT:1">
|
|||
|
|
<CENTER>
|
|||
|
|
|
|||
|
|
<DIV DATA-PALINDROME DATA-MAX-LINES="364" DATA-G="window.ꕤ/Math.pow(3,2)" STYLE="--I:1PX;FONT-SIZE:VAR(--I);"></DIV>
|
|||
|
|
<DIV DATA-PALINDROME DATA-MAX-LINES="121" DATA-G="window.ꕤ/Math.pow(3,1)" STYLE="--I:3PX;FONT-SIZE:VAR(--I);"></DIV>
|
|||
|
|
<DIV DATA-PALINDROME DATA-MAX-LINES="364" DATA-G="window.ꕤ/Math.pow(3,2)" STYLE="--I:1PX;FONT-SIZE:VAR(--I);"></DIV>
|
|||
|
|
<DIV DATA-PALINDROME DATA-MAX-LINES="40" DATA-G="window.ꕤ/Math.pow(3,0)" STYLE="--I:9PX;FONT-SIZE:VAR(--I);"></DIV>
|
|||
|
|
<DIV DATA-PALINDROME DATA-MAX-LINES="364" DATA-G="window.ꕤ/Math.pow(3,2)" STYLE="--I:1PX;FONT-SIZE:VAR(--I);"></DIV>
|
|||
|
|
<DIV DATA-PALINDROME DATA-MAX-LINES="121" DATA-G="window.ꕤ/Math.pow(3,1)" STYLE="--I:3PX;FONT-SIZE:VAR(--I);"></DIV>
|
|||
|
|
<DIV DATA-PALINDROME DATA-MAX-LINES="364" DATA-G="window.ꕤ/Math.pow(3,2)" STYLE="--I:1PX;FONT-SIZE:VAR(--I);"></DIV>
|
|||
|
|
|
|||
|
|
</CENTER>
|
|||
|
|
</BODY>
|
|||
|
|
</HTML>
|