oofoffofffoffoofofofffffffffoof̬̬̬̈̬̬offoffoffoffofooffoffoffoffofo̬̬̬̪쬪 >?/""""""UUUU_U_ݟUUU/""""w/""""wUUUUU?UUU///""/wU"//""/wUUUUUUU?33񏈈UU/""/"//"UUU""/"//"UUU_UUUUUU333񏈈_UU/""""w/""/""UUUUU"""/""/""UUUUU_UUUU333񈈈_UUU/""""""w/""/"UUUUUU""/""/"UUUUUUU?_UUU?3_UUU/""""w/"/"UUUUU"//"/"UUUUUw?33_UUU???󟙙_UwU//""/o//"UUUU/"o//"UUUUUw?3333UUUUU??33󟙏__wwUUU/"//"off/"UUUU/"off/"UUUUUw?333333UUUUUUU?w?33_UwwwUUUU/""/"offff/UUUUU/offff/UUUUUU?3333UUUUUww?33?UwwUUUUU/""/"offffffUUUUU/offffffUUUUUU??33?UUUUww3?33wUUUU/""/"offffwUUUUU/offffwUUUUU?3??3_Uww?333wUUUU/"/"ooffow_UUU/ooffowUUUUU?33?3_UU_w333wUUU_//"ofoof_UU/ofoofwUUUU?33?_UUUU_UUw3UUU_UU/offoff_UoffoffUUw33?_UUUUUU_UUUUDUU_UUUUoffofoffoffw3?_UUUU_UUUUUUODDUU_UUUUUUwoffofwwoffofww?__UU__UUUUODD_UU_UUUUwoffofwoffofww?_U__U_UUDDD_UU__UU_wofofwofofww_UU_U_UDD_UU__U__Uwoowwooww_UU_wwUUUO_U_UU_UU_UUww_UwwwwUUUUU____UUUU_UU_UUww_wwwwwUUUUUUU_U_U_UUUUU_UU_UwwwwwwwUUUUU_Uw__UUUU_UU_wwwUUUUwww?__UU_U_wwUUwww?_U___wwwUUUDw?3_UUwwwUUUUUDDD?33_UUw"wUUUUUUODDDD?3_www"""UUUUODDD?_񈈈ww"""""wUUOD_UUww"""""""_UUU3wwww"""""U_UUUU333Oww"""""UUU_UUU33333wODDwD"""""fUUUUU__UU3333333wwODDDDwDDDw"""""fff3UUUUUw_U_33333wODDDDDDwDDDDDw""""fffff33UUUwwwUU33333wODDDDwDDDDDDD"""fffffff333"UwwwwwUU33333wOODDOwDDDDD"""fffff3333"""UwwwwwUUU333333wODOODwDDDDDw""fffff333"""UUUwwwUUUU33333DODDODDODDDDD"ffff333"""UUUUUwwUUUUU3333wDDDwODDODDODDwDDDDDDffff33o"UUUUUUwwUUUU?33󻻻DDDDDwwODDODODDDDwDDDDDfff33of"UUUUowwwUUUU_?3DDDDDDDwODDODODDDDDDwDDDDfff3off/"3UoffwwwUUUU_UU?DDDDDwODODODDDDwDDDDfff3offf333_offfwwwUUUUU_UUUU/DDDDDwOOOODDOwDDDff3off333_UUofffwwUUUUU_UUUUUU/""DDDDDODOODDDfoof333_UUUUofwUUUUU_UUUU/""""wDDDDDDwODDODDofo33_UUUUUUo____UUUUU__UU_/""""""wDDDDDwwODDODwoff33_UUUUU_UU_U_U_UUUU_U__U/""""wDDDDDwwODDODwof33_UUUUUUUU_U_U_UU_U_U//""/wDDDDwwODDODwo?3O_UUUUUUUUUUUUU__/"//"wDDDwwODODwwoODDUUUUUU_UUUww_/""/""DOOwODDDDUUUUUU_wwww_w/""/""w3ODDDDUUUUUU_3"wwwwwww/"/"򙙙ww333ODDUUUUUUUO333""wwwwo//"ww3333OODUUUUUODD?333""wwoff/"ww33333D_UUUODDDD?333/""woffff/ww33333_UUU_ODDDD33/"woffffffw333333_UUUU_UUODD33/"offffwf333333_UUUUU_UUUUOO3""ooffowwwfff333U3333_UUUU_UUUUUUOD?/ofoofwwwfffff33󏈈UU333__UU_UUUUD??ofoffwwwffffff33UUU333__o_UU_?33ݿ?33ooffwwfffff33UU33__off__U?3333?3333𯪪offwwfffff3UU33_UUoffff_UU33333333333𯪪ofwwwwwwfffffUU3_UUUUoffffffUUU333ݿf3333fwwwwwwwwwwwfffffUU_UUUUUoffffUUUUU3?fff33?wwwwwwwwwwwwwwwffff̏U"_UUUUooffUUUUUUU?3/fff?3fwwwwwowwwwfff̏""__UUofooUUUUU?3/""fff?33wfffwwwwwoffwwfff̏"""_U__ffofwUUUU?/""""of?33?fffffwwwwwoffffwwff""""_UU_wfowwwUUUU"""""of?3?33fffffffwwwwwwoffffffwwwwf"""_UUwwwwwwwwUUUUU"""f??3333fffffwwwwwoffffwwww/"""_Uwwwwwwwwwwww_UUUUU"/oU?333333fffffwwwooffoww/""""_wwwwwwwwwwwUUUUUUU/"_UU?3333fffffwooof/"""""_UUwwwwwwwwwwUUUUU/""_UU?33?fffffooff/"""""_UUUwwwwwwwwUUUU/"UUU??3wfffof/""""_UUUUwwwwwwwUUU/UUU?33fof_//"""_UUUwwwwwUUUUUUUU33ff_UU/"/__UUwww_UUUUUUU3of_UUUU/""f_U_ww_UUUUUUU_f3oo_UUUUU/"ff_UU_w_UUUUU𿻻off3fUoff_UUUU/򈈈fff_UU_UUUU𿻻off/_fff"UUUoffff__UUff_UUUUU𿻻fff/""_UUffff""UUUUUoffffff_U_ff_UUUU_ff/""""_UUUUfffff"UUUUUUUoffff_UUff__UU_UUf/""""_UUUUUUffff/UUUUUooffo_UUffU_U_UUUU3/""_UUUUffff/"UUUUofoof_UfUUU_U_UUUUUU33//_UU_fff""UUUffof_UUUU_U_UUUU33/"__Uoff"UUUfoUUUUU__UU_?33""_UUof3_UUUUU__U_?3"_Uo333_UUUU_UU_UU?3?3333UUU_U_UUUU3?3333333UUU_U_UUUUUU?w333?3ff3333UU_U_UUUUwww333o?3fffwff3333UU__UU_www?3off3ffffwwwfff333UUw__U_www??offffwwfffffwwwwffff3333U_UU_UUww?3fffffwwwffffwwwwwfff333wU_UUUUww?fffwwwwffowwwwfff3UwU_UUUUUU_ffowwwofffwwwfffUUUU_UUUU_UUffofwwfofowffUUUUU_UU__UUffofofwUUUUUw__U_UUoffofUUUU_UU_UofO/UUUUw_U_UU_oDD/"򟙙UUUw__UUUU_?/ODD/"򟙙UUUO__UUUUUU?33/"򟙙ODD""UUwODD__UUUU333/"򟙙D"oUUwODDDD_UU_333""OofUUwODDDDDD3__U?3"/ODDoffUwODDDDw333_UUU??/O/""ODDofwUwOODDOw33333UUUUU?/ODD/"""ODDoowwUUUUODOODw3333333UUUUUUU?DDDD/"""DOfwwwUUUUUUUODDODDww33333UUUUUDDDDD/"ODD"wwUUUUUUUUUUwODDODDwww33333UUUDDDD/ODDD"wUUUUUUUUUUUwODDODDwwwww33333UUODDD/"DD""wUUUUUUUUUwODDODwwwwwww33333UUU_ODD_"""wUUUUUUUUwODODwwwww3333UUUUU_UUOD/f_U""UUUDUUUUUOOwwwww33UUUUUU_UUUU_O_U"UUUDDDUUUUUUwwwww3UUUUU_UUUUUUUUUUUUDDDDDwUUUUUwwwwwwwUUUU_UUUUUUU_UUDDDDDDDUUUUUwwwwwwUUUU_U_UU__UUDDDDDUUUUUwwwwwUUUU__Uf/o_UU_DDDDDwUUUUwwwwUUUww_UU__ff""of_U_UUDDDDDUUwww_UUwww_UUUU/_ff""of___UUUUDDDDDDww_Uwwww_UUUUUU/""off/""ff__UUUUUDDDDDww_www_UUUU/""off/"f?_UUUUDDDDwww_U/""fff/U?3__UUDDDDwwU"fff/UUU?3_U_DDDwwwUUU/fUff/"_UUU?33_UUwDDwwwUUUUU/"UUUOf/"_UU?3_UUwwwUUUUUU"UUUU""U?_wwwwwwwUUUU""UUU"_wwwwwwwwUU""U//_UUwwwwww/""/"f/_UUUwwwwwwww𙙙U/"/""ff_UUUU3wwwwwwwUUU//"f_UUU333wwwwwww?_UUUUU/1-- title: infinity carpet -- author: visy -- desc: colorful carpet t=0 screen = { x=0, y=0 } cursor = { x=0, y=0 } tile_w = 16 tile_h = 16 function screen_to_iso(s) local i = { x = 0, y = 0 } i.x = s.x/(tile_w/2)+s.y/(tile_h/2) / 2 i.y = s.x/(tile_w/2)+s.y/(tile_h/2) / 2 return i end function iso_to_screen(i) local s = { x = 0, y = 0 } local z = 0.6+math.sin(t*0.2)*0.38 i.x = i.x*z i.y = i.y*z s.x = (i.x-i.y) * (tile_w/2) s.y = (i.x+i.y) * (tile_h/2) return s end function update() -- isometric to screen if btnp(0) then cursor.y=cursor.y-1 end if btnp(1) then cursor.y=cursor.y+1 end if btnp(2) then cursor.x=cursor.x-1 end if btnp(3) then cursor.x=cursor.x+1 end cursor.x = math.max(0,cursor.x) cursor.y = math.max(0,cursor.y) cursor.x = math.min((240-tile_w)/tile_w,cursor.x) cursor.y = math.min((128-tile_h)/tile_h,cursor.y) screen = iso_to_screen(cursor) end PALETTE_MAP = 0x3FF0 function draw() cls(7) --rect(0,128,240,8,6) for x = -20,20,1 do for y = -20,20,1 do local p = {x = x, y=y} local s = iso_to_screen(p) poke4(PALETTE_MAP * 2 + 6, t*8+x*y) spr(1,112+s.x+math.cos(p.x*0.5+t)*16,64+s.y+math.cos(p.y*0.5+t)*16,0,1,0,0,2,2) end end -- rectb(screen.x,screen.y,tile_w,tile_h,2) end function TIC() t = time()*0.002 update() draw() end