An attempt at size-optimizing the classic game of snake.
The final code was 416 in characters.
m={}x=3y=2r=1c=0o=0d=2^7f=flip l=3w=16h=w::_::cls()for i=1,w*h do m[i]=m[i]or 0if(m[i]>0)m[i]-=1 if(o)k=flr(rnd(w*h-l))+1o=nil if(m[i]==0)k-=1m[i]=(k==0)and -8/3 or 0 p=(i%w)*d/w q=flr((i-1)/h)*d/h rect(p,q,p+d/w-1,q+d/h-1,3*min(m[i],1))?l-3,0,0,7 end b=btn()t=(b&2)/2-(b&1)if(t~=0)r,c=t,0 t=(b&8)/8-(b&4)/4if(t~=0)c,r=t,0 x,y=(x+r)%w,(y+c)%h n=x+w*y+1if(m[n]<0)l+=1o=0 if(m[n]<=0)m[n]=l f()f()f()goto _ ?"game over" |
Here is the commented version.
Feel free to post any suggestions!
[Please log in to post a comment]