My code for sprite rotation:
function sprrot(id,x,y,a,s) id=flr(id) function getcol(px,py) return ((px<1 and py<1)and(px>=0 and py>=0)) and sget((px*8)+((id%16)*8),(py*8)+(flr(id/16)*8)) or -1 end for py=0,s*13 do --floor(9*sqrt(2)) for px=0,s*13 do local uv={x=((px/(11*s))-.6),y=((py/(11*s))-.6)} local col=getcol(((uv.x*cos(a))-(uv.y*sin(a)))+.5,((uv.x*sin(a))+(uv.y*cos(a)))+.5) if(col>0)then pset(flr(x+(px-(6.36*s))),flr(y+(py-(6.36*s))),col) end end end end |
Any better ones?
It's my first PICO-8 cartridge uploaded here.
Move with arrow keys and press Z to regenerate.
I've used Prim's algorithm for this. Some common patterns are visible which I don't know how to fix.
This might be buggy, if you're unable to collect all pills please let me know and comment about it because I was a little confused when I coded this.