JG's tiny JS Maze
A small Javascript maze
by Jonathan Gough
HTML
<!-- Not the shortest possible maze program,
but nevertheless a tiny 'hard' maze...!
[email protected] -->
↓<br>
<canvas id="c"></canvas>
→
CSS
#c {background-color:#fff;}
body {background-color:#aaa;font-size:32px;}
JavaScript
r=Math.random;v=document.getElementById("c"),s=512,g=16,c=v.getContext("2d");v.width=v.height=s;function d(i,j,k,l){c.beginPath();var m,p,a=k-i,b=l-j;if(a>g&b>g)if(r()<a/b){m=a/2+i;c.setLineDash([(r()*(b/g)|0)*g,g,l]);c.moveTo(m,j);c.lineTo(m,l);c.stroke();d(i,j,m,l);d(m,j,k,l)}else m=b/2+j,c.setLineDash([(r()*(a/g)|0)*g,g,k]),c.moveTo(i,m),c.lineTo(k,m),c.stroke(),d(i,j,k,m),d(i,m,k,l)}d(0,0,s,s)