-- genuary #18 2023
-- definitely not a grid
-- by carson kompon
worms={}
paths={}
pal({[0]=4,132,128,0},1)
for i=1,16 do
local dir=(rnd(4)\1)/4
local tmrmax=3+rnd(3)
add(worms,{
x=rnd(128),
y=rnd(128),
dir=dir,
dirto=dir,
spd=0.25+rnd(.75),
tmr=tmrmax+rnd(6)-3,
tmrmax=tmrmax,
turnspd=0.25/30
})
end
::_::
cls()
for p in all(paths) do
p.c-=rnd(1/30)
local pc=ceil(p.c)
circfill(p.x,p.y,1,pc)
if(pc<=0)del(paths,p)
end
for c in all(worms) do
c.x=(c.x+cos(c.dir)*c.spd)%128
c.y=(c.y+sin(c.dir)*c.spd)%128
c.tmr-=1/30
if c.tmr<=0 then
c.dirto+=rnd({-.25,.25})
c.tmr=c.tmrmax
end
if c.dir~=c.dirto then
c.dir+=c.turnspd*sgn(c.dirto-c.dir)
if abs(c.dir-c.dirto)<=.01 then
c.dir=c.dirto
end
end
add(paths,{
x=c.x,y=c.y,
c=2
})
end
flip()
goto _
Genuary 2023 Day 18 - Definitely not a grid
January 18, 2023