pico-8 cartridge // http://www.pico-8.com version 19 __lua__ -- bouncy ball demo -- by zep size = 10 ballx = 64 bally = size floor_y = 100 -- starting velocity velx = rnd(6)-3 vely = rnd(6)-3 function _draw() cls(1) print("press ❎ to bump", 32,10, 6) fillp(░) rectfill(0,floor_y,127,127,12) fillp() -- reset circfill(ballx,bally,size,14) spr(1,ballx-4-velx, bally-4-vely) end function _update60() -- move ball left/right if ballx+velx < 0+size or ballx+velx > 128-size then -- bounce on side! velx *= -1 sfx(1) else -- move by x velocity ballx += velx end -- move ball up/down if bally+vely < 0+size or bally+vely > floor_y-size then -- bounce on floor/ceiling vely = vely * -0.9 sfx(0) -- if bounce was too small, -- bump into air if vely < 0 and vely > -0.5 then velx = rnd(6)-3 vely = -rnd(5)-4 sfx(3) end else bally += vely end -- gravity! vely += 0.2 -- press ❎ to ranomly -- choose a new velocity if (btnp(5)) then velx = rnd(6)-3 vely = rnd(6)-8 sfx(2) end end __gfx__ 00000000008887000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000088888800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0070070008ffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00077000085ff5800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0007700008ffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00700700888888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000088888800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000008008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __label__ 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777666766676667766776677777766666777777666776677777666767676667666777777777777777777777777777777777 77777777777777777777777777777777676767676777677767777777667676677777767767677777676767676667676777777777777777777777777777777777 77777777777777777777777777777777666766776677666766677777666766677777767767677777667767676767666777777777777777777777777777777777 77777777777777777777777777777777677767676777776777677777667676677777767767677777676767676767677777777777777777777777777777777777 77777777777777777777777777777777677767676667667766777777766666777777767766777777666776676767677777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777eeeeeee77777777777777777777777777777777777777777777777777777777777777777777777777777 777777777777777777777777777777777777777777eeeeeeeeeee777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777eeeeeeeeeeeee77777777777777777777777777777777777777777777777777777777777777777777777777 7777777777777777777777777777777777777777eeeeeeeeeeeeeee7777777777777777777777777777777777777777777777777777777777777777777777777 777777777777777777777777777777777777777eeeeeeeeeeeeeeeee777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777eeeeeeeddd7eeeeeeee77777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777eeeeeeddddddeeeeeee77777777777777777777777777777777777777777777777777777777777777777777777 7777777777777777777777777777777777777eeeeeeedffffdeeeeeeee7777777777777777777777777777777777777777777777777777777777777777777777 7777777777777777777777777777777777777eeeeeeed5ff5deeeeeeee7777777777777777777777777777777777777777777777777777777777777777777777 7777777777777777777777777777777777777eeeeeeedffffdeeeeeeee7777777777777777777777777777777777777777777777777777777777777777777777 7777777777777777777777777777777777777eeeeeeddddddddeeeeeee7777777777777777777777777777777777777777777777777777777777777777777777 7777777777777777777777777777777777777eeeeeeeddddddeeeeeeee7777777777777777777777777777777777777777777777777777777777777777777777 7777777777777777777777777777777777777eeeeeeedeeeedeeeeeeee7777777777777777777777777777777777777777777777777777777777777777777777 7777777777777777777777777777777777777eeeeeeeeeeeeeeeeeeeee7777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777eeeeeeeeeeeeeeeeeee77777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777eeeeeeeeeeeeeeeeeee77777777777777777777777777777777777777777777777777777777777777777777777 777777777777777777777777777777777777777eeeeeeeeeeeeeeeee777777777777777777777777777777777777777777777777777777777777777777777777 7777777777777777777777777777777777777777eeeeeeeeeeeeeee7777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777eeeeeeeeeeeee77777777777777777777777777777777777777777777777777777777777777777777777777 777777777777777777777777777777777777777777eeeeeeeeeee777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777eeeeeee77777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 __sfx__ 000300000f01112051180311e021280113a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000100001a76011750247300070000700007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700 000400000c47011470164600f460164501b44013430164201b420184201d4202241027410164000c4000c4000f40013400114000c4000f4000f4000c400004000040000400004000040000400004000040000400 000400000c5700c5501154018530165201f5101d50018500185001f500225001d5001f500225002b5002250029500245002450029500275002b5002b500005000050000500005000050000500005000050000500