.ArrowDown||k.s||k.ArrowLeft||k.ArrowRight)&&e.length<10&&random()<.01&&(t=random()*6.283,d=1+random(),X=x+cos(t)*d,Y=y+sin(t)*d,f(floor(X),floor(Y))==0&&e.push({x:X,y:Y,h:100})),random()<.005&&am<25&&am++,e.forEach(o=>{let d=hypot(dx=x-o.x,dy=y-o.y);d>.2&&(o.x+=dx/d*.0015,o.y+=dy/d*.0015,f(floor(o.x),floor(o.y))!=1||0),d<.5&&(H--,fl=2)});let w=[];for(i=0;i<320;i++){r=a+atan((i-160)/160),dx=cos(r),dy=sin(r),ix=floor(x),iy=floor(y),ddx=dx?abs(1/dx):1e30,ddy=dy?abs(1/dy):1e30,sx=dx<0?-1:1,sy=dy<0?-1:1,tmx=dx<