alexthescott.its a feature 2

-- it's a feature 2 (block trig)
-- alexthescott
-- 9/23/21 11:11pm

-- vert osc if day is even
-- hori osc if day is odd

p={8,136,130,11,139,131,12,140,129}
pal(p,1)

function new_obj(r)
	obj={}
	obj.col=4
	obj.point={x=64,y=64}
	obj.r=r
	obj.a=rnd()
	obj.span=.1
	obj.coin=stat(82)%2==0
	
	obj.draw=function(self)
		local p=self.point
		local a1=self.a-self.span/2
		local a2=self.a+self.span/2
		
		if self.coin then
			for at=a2,a1,-0.002 do
				x=p.x+cos(at/rnd())*self.r
				y=p.y+sin(at)*self.r
				pset(x,y,self.r/3)
			end
		else
			for at=a2,a1,-0.002 do
				x=p.x+cos(at)*self.r
				y=p.y+sin(at/rnd())*self.r
				pset(x,y,self.r/3)
			end
		end
	
		self.a+=0.004
	end

	
	return obj
end

function burn()
	for i=1,1200 do 
		x=rnd(128)\1
		y=rnd(128)\1
		pc=pget(x,y)
		if pc!=0 and pc%3!=0 then
			circfill(x,y,1,pc+1)
		else
			pset(x,y,0)
		end
	end
end

objs={}
fc=0

for i=1,20 do
	add(objs,new_obj(i*3))
end

cls()
::♥::
if t()<2 then
	print("it's a feature 2",32,64,1)
else
	burn()
	
	fc+=1
	
	if fc>=100 then
		fc=0
	end
	
	for obj in all(objs) do
		obj:draw()
	end
	
	flip()
end
goto ♥