0 D$404mNJN…L04e$ÐFHuqaY}ÎÒ},…•¡mª,Òª™mÂÊÚÔ^ÞîÖ 0ÿÿÿÿÿÿÿÿ2Tv˜ºÜþïÍ«‰gE#2Tv˜ºÜþ2Tv˜ºÜþ ž™™™™"""‰ˆˆˆ‰"""‰»»»‰»°»‰»°»‰»°»™™éî""™îˆˆ’î"‚’’™°‹’’°‹’’°‹’’ž™™™™"""‰ˆˆˆ‰"""‰»»»‰»°»‰»°»‰»°»™™éî""™îˆˆ’î"‚’’™°‹’’°‹’’°‹’’‰»»»‰ˆˆˆ‰ˆ‹ˆ‰ˆ¸»‰ˆˆˆ)"""™"’™ž™™ž»‹"™ˆˆ’鋈’’’î""™î"’éî™™î»»‰ˆˆˆ‰ˆ‹ˆ‰ˆ¸»‰ˆˆˆ)"""™"’™ž™™ž»‹"™ˆˆ’鋈’’’î""™î"’éî™™îî > ? À`Ö`ff ð`m`gð fffðÐ`p`ð`oÀ`h` ff`i`–ðn€`f fà ff`m`ænffffffffffÐÐ`ff`f`l` f``f`fff fðof`ff```f`fffðàff`````f`f` fð`ffff```f`f`ffi¦`à jfff````€™˜‰™˜`oà`l€```™™™™™™™™™fv¶`m `Ü``ff˜‰™˜‰™˜‰™˜‰™ Ð`€`f`f`˜‰™˜‰™˜‰™˜‰™˜‰ Æ ``fkÐm``f``™™™™™™™™™™™™™™™™ `fÀÐfÐ``g`f``‰™˜‰™˜‰™˜‰™˜‰™˜‰™```lÀ`j```f‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰`gkfÀ`h`f`™™™™™™™™™™™™™™™™™™™™ `n``f`f€™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰fffff à`f`f`™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™ào`ff`f™™™™™™™™™™™™™™™™™™™™™™™ fànl`fffn``˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™ª``°àf`‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰f`f``f`k`ðff™™™™™™™™™™™™™™™™™™™™™™™™™™i``f``f`îððf™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜ `f```gfàð`à˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™``f`f`ðàffff™™™™™™™™™™™™™™™™™™™™™™™™™™™™ ```f``nn `‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰ ``f`f``jfæ`fÀ`wf€™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜f````ffff`а`j`™™™™™™™™™™™™™™™™™™™™™™™™™™™™™```f``klllàn `fff˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™```f`«`f‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜ ``f€`™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ `fffffffðoo`ffff`f`–˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜fpà```‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰f€ffîf¶f†`f`f–™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™fff``f˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜`` kÿ jgffff˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰iffffff €™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ `fffffÐmlf™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜i`ff ff˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰ f ff`f°k f™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™  f ðo€° f™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜ ` à``¼`iff˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰ `f`hfÝÐfff f€p™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ f`fÀ ffffffff™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜ipfg`þ`fp€p˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰ `f`` `€`ffff™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ ``ffffff`h `g`˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜`f`f€€ €`h°``f‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰``fffff``†`i`h™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™f```  `l€w`f–˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜`f€` `kàn`fl`f̉™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜ ffff`€`g`lffààÀƆffffff™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ ``fðofm`mmàn p˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™hf°`gfРi`ff€™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜`k€`höf`f``–™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ffÀ`ff `f``fff‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰ À`fjðm`h``™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™hfff `lð€f`f™™™™™™™™™™™™™™™™™™™™™™™™™™™ÆÀÀ`nn`fjif`™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜ ff`à`jf˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰if `m°`jf¦fff™™™™™™™™™™™™™™™™™™™™™™™™™`ffÐfÐfmffff˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™` `h`p€™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜ffÆ `f`p™™™™™™™™™™™™™™™™™™™™™™ Àff `f€™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰fÐv``˜‰™˜‰™˜‰™˜‰™˜‰™˜‰™˜‰ f`m`f`f™™™™™™™™™™™™™™™™™™™fffÿа``f‰™˜‰™˜‰™˜‰™˜‰™˜‰™`fàf``ff`f™˜‰™˜‰™˜‰™˜‰™˜‰™`f  €``f™™™™™™™™™™™™™™ ` f`j`àn`f˜‰™˜‰™˜‰™˜‰™`fffff `h``˜‰™˜‰™˜‰™`ˆo ffo`–`ff f``™™™™™`f` `f````ff`hffð`l h f `kf `ff``f``€f`h àðа`ffàn°````````€àn `nnnnÐ`i`fff–À``ff`ff`f``f`f`f`ff`iÀp`°`fà`f`f`f` °``ff`fi`fhfàfff`f`f`fff`fjf`jp`f p`f`` `h` jofiff`ffff``fffffÐml``ffv`»Æ`f`€i``if ffff ```fffffofàfm `f`€ðonff```Ð ``€`hnfofff``ffff nff`kfg`f`p```ð```g fp`ffl```ðofff``f```p`jf`````n`lf jg```vff``f``îffff```ffff Ðf`f ffffffp``ff```ÍÀp``m`pf f`f`lf``°fffff `Æ`f``fff nf`k¶ €ff`pfflff `f`ffff°l`f`f`Àl`fjf`ÿffffffff``ffff`ff`fff`Þ``f```ff` Ð``fffff`gffffÐà``f```f`pÀl€``fff`f`ªÐ`f`fffg°`mf````ffffff```f`h````ffff`fgf`ff`fff `f`f`f`f```f``f``f` `jnfff```ff```f`f`ffff`ff``ff``ff``f`f `ffà`ff```ff``````f`f``````f``îf™™™f™™™f™™™`™™™f™™™™ffff™™™™™™™f™™™™™™™f™™™™™™f™™™™f`ff™™™f™™™™™™`f™™™™™™™`f™™™™™™™™™™™™™™f™™™™™™f™™™™`fff™™™™™f™™™™™™™™™™`` ff™™™™™™™™™™™f™™™`™™™``l™™f™™™™™™f™™™f™™™™``f™™f™™™™™™™f™™f™™™`™™™`f™™f™™™™™™™™™™f™™™™f``ff™™™™f™™™™™™™™f™™™™™™™™™™ffff™™™™™™™™™™™™f™™™™`f`v™™™™f™™™™™™™™f™™f™™™™™ff™™™off™™f™™™`™™™™™™™™™`™™™`f™™`™™™™f`™™™™™™™™`™™™ffffffffÖ¶f™™™™™`™™™™™™™™™f`™™™fff™`™™`™™™™`™™™™™™™™`f™™™`f™™™f™™f™™™™™™™™™™™`™™™™™™™ª™™™™™™™™f™™™™™™™™™ff`gfjk`f™™™™™f™™™f™f™™™f™™™™ff€™™™™™™™f™™™™™ff™™™f™™™™™™™™™f`fÀf`ªf```f`f````€f```f``````f`jf`m`f`f```f`f``f`f```f`fff`ff```fffff```ff °ào``f`ffff``ff`f```f``ff``````°°ànff``f`f`ffff`fff```f`f`fff``f`fff``f`f`ffffff ff```fff````f``ff``f`f```f``Àm Ð```f```f`€g``fx`fff```f`ffffff`f`g```f`†–`ÝÐffff````ff`f````f````ffff`f`ff€€`````À fff`f`ff``f`f`ffff``f``ff`f` j``f````ffÀ`gfÝöffff```jff``gv`f``ff``ff`f```  `l`f`f`f`p ````fff`v``f```f`f```f`kà`fÌ``f``ffÆf`````f`f`fff `f``ff`v`ffp`` °à `f`ffff `f`f`f``fÀl`````f````f`p`ff`ffÀÖ`f`fffïf `ff`f f`f`f€h``f```g`f``f`pg€ff```f` fff¶ ````` `p``f``€`ff``g`f€Ðff`f`f``f ff`fff`f`f`Ý f``ff``fp`f°k° `j °```fff f``f`i––p``f†f`€` `h`k``f`f``ffff`f`` `h`g`f°ljf```fffÀ`j`°  `€f`pg``gff`ff``f`h````````ª`` ð`ln``f``f`f`Íff€f f``f`h``f`ff i`fpf`m°k ðÐðpff`g À`f`ff`™``™``kÖ` `fàÀ`f`mð`fph€  ffff`f€`p`` Àkffgfffà `n `f`f`ff`f`ff` f```fà`nf`mff–-- title: manhattanfire -- author: borb (@borbware) -- desc: fire that spreads orthogonally -- script: lua xx=96 yy=24 function mod1(i,tbllen)return (i-1)%tbllen+1 end function has(tbl,val)--returns which key for k,v in pairs(tbl)do if v==val then return k end end end function getpix(x,y,dir,a) return pix(x+dir[1]*a,y+dir[2]*a) end function sum(x,y) return {x[1]+y[1],x[2]+y[2]} end curdir=1 dirs={{0,-1},{0,1},{-1,0},{1,0}} koil={1,-1} kaak={1,1} loun={-1,1} luod={-1,-1} diags={{koil,luod},{kaak,loun},{loun,luod},{koil,kaak}} c1=6 c2=15 c2s={6,7,8,9,10,11,12,13,14,15} cols={c1,c2,c1,c1,c1,c2} ddir=0 function spreadFire(x,y) rnd=1 col=pix(x,y) local dir=dirs[curdir] local diag1=diags[curdir][1] local diag2=diags[curdir][2] local k=has(c2s,col) if k and k>1 and getpix(x,y,dir,1)==0 and getpix(x,y,dir,2)==0 and getpix(x,y,dir,3)==0 and getpix(x,y,diag1,1)==0 and getpix(x,y,diag2,1)==0 and getpix(x,y,sum(diag1,dir),1)==0 and getpix(x,y,sum(diag2,dir),1)==0 then pix(x+dir[1]*2,y+dir[2]*2,c2) --local col2=cols[math.random(1,6)] local col2=x%2==0 and y%2==0 and c1 or c2 pix(x+dir[1],y+dir[2],col2) pix(x,y,c1) elseif k and k>1 then pix(x,y,c2s[k-1]) end ddir=math.random(1,3) curdir=mod1(curdir+ddir,#dirs) end cls(0) t=0 sprite=false function TIC() if btnp(4) then cls() end if btn(0) then yy=yy-1 end if btn(1) then yy=yy+1 end if btn(2) then xx=xx-1 end if btn(3) then xx=xx+1 end circ(xx+22,yy+22,32,9) if sprite then spr(1+t%60//30*2,xx,yy,14,3,0,0,2,2) end local spd=3 for x=0,239 do for y=0,135 do if t%spd==x*y%spd then spreadFire(x,y) end end end print("CHAOS ENSUES",44,104,9,2,2) t=t+1 end