let A=0,B=0,M=
Math;const a=()=>{let s
=[],t=[];A+=.05,B+=.07;const
o=M.cos(A),e=M.sin(A),n=M.cos(B
),c=M.sin(B);for (let o=0;o<1760;
o++)s[o]=o%80==79?"\n":" ",t[o]=0;for
(let i=0;i<6.28;i+=.07){const r=M.cos(
i),a=M.sin(i);for(let i=0;i<6.28;i+=.02
){const l=M.sin (i),f=M.cos(i),A
=r+2,B=1/(l*A* e+a*o+5),d=l*A*
o-a*e,m=40+30* B*(f*A*n-d*c)|0
,v=12+15*B*(f*A *c+d*n)|0,I=m+80
*v,h=8*((a*e-l*r*o)*n-l*r*e-a*o-f*r*c)|
0;v<22&&v>=0&&m>=0&&m<79&&B>t[I]&&(t[
I]=B,s[I]=".,-~:;=!*#$@"[h>0?h:0])}}
process.stdout.write(`\x1b[J\x1b[H`
+s.join(""))},i=setInterval(a,50
);/*=!!!**********!!!==:*/
/*~~;EvanZhouDev;;:~*/
/*.,-2023--,.*/
Run with
node donut.min.js
donut.c
, remade in JS... and the code still looks like a donut!
donut.js
is the original code, and donut.min.js
is the actual donut-shaped obfuscated code.
Modified from the original DOM code, written by Andy Sloane with AI, and a little bit of playing around with indentation 😅.
If the donut looks elliptical, then you may need to adjust your font to be more square, or just modify line width and font spacing to make it more square.