arkivo.art

horizontal burn alt (memory bug fixed)

alexthescott

-- horizontal burn alt (memory bug fixed) -- alexthescott -- 9/2/21 --p={8,136,130,11,139,131,12,140,129} p={7,134,133,14,136,141,13,141,1} pal(p,1) -- set btn delay poke(0x5f5d, 30) function new_screen() s={} for i=0,128 do add(s,i) end return s end function new_beam(c) if #screen<1 then screen=new_screen() global_index+=3 global_index%=9 end point=screen[1+rnd(#screen)\1] del(screen,point) b={} b.c=c b.d=rnd(2)\1 -- left, right if b.d==0 then b.x=127 b.y=point b.dx=-2 else b.x=0 b.y=point b.dx=2 end b.draw=function(self) pset(self.x,self.y,self.c) pset(self.x-1,self.y,self.c) end b.update=function(self) self.x+=self.dx end b.destroy=function(self) if self.x<0 or self.x>129 then del(beams,self) end end add(beams,b) end function burn() for p=0,256 do x=rnd(128)\1 y=rnd(128)\1 pc=pget(x,y) if pc!=0 and pc%3!=0 then if rnd(2)\1==0 then pset(x,y,pc+1) else pset(x,y+1,pc+1) pset(x,y-1,pc+1) end elseif rnd(3)\1==0 then pset(x,y,0) end end end screen=new_screen() beams={} global_index=1 cls() ::♥:: if t()<2 then print("horizontal burn alt",26,64,1) else burn() if t()%0.125==0 then for i=1,2 do new_beam(global_index) end end -- diy beam if btnp(4) or btnp(5) then for i=1,4 do new_beam(global_index) end end for b in all(beams) do b:draw() b:update() b:destroy() end flip() end goto ♥

Blockchain tezos
Smart Contract KT1RJ6PbjHpwc3M5rw5s2Nbmefwbuwbdxton
Platform HEN
Token ID 257553
Minted at 02 Sep 2021, 21:10 UTC

Metadata URI Metadata URI
Artifact URI Artifact URI

pico8 , pico-8

JavaScript true
Networked false

Timestamp (UTC) 2024-08-17T06:35:11.687Z
Snapshot version 1
External network calls 0
Download Snapshot Download
Snapshot Image