initial commit

This commit is contained in:
2025-07-25 11:46:41 +02:00
commit 0973fd48e9
24 changed files with 8851 additions and 0 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

284
alain_example.p8 Normal file
View File

@@ -0,0 +1,284 @@
pico-8 cartridge // http://www.pico-8.com
version 42
__lua__
--example with time
-- player object
p={
x=8,
y=8,
w=6,
h=6,
d=true,
bucket=0,
debug="",
--draw function that also displays debug msgs. don't do this, set debug outside of player
draw=function(self)
print(self.debug)
self.debug = ""
spr(13-self.bucket,0,120)
spr(0,self.x,self.y)
end,
--move and collision combined in one function
move=function(self, x, y)
cx=self.x+(x*(1.5-(self.bucket/5)))
cy=self.y+(y*(1.5-(self.bucket/5)))
-- based on https://gamedev.docrobs.co.uk/first-steps-in-pico-8-easy-collisions-with-map-tiles
collide = false
cand={}
for i=cx,cx+self.w,self.w do
if fget(mget(i/8,cy/8),0) or fget(mget(i/8,(cy+self.h)/8),0) then
collide = true
add(cand,mget(i/8,cy/8,0))
add(cand,mget(i/8,(cy+self.h)/8))
-- self.debug = self.debug.."why"
end
end
for i=cy,cy+self.h,self.h do
if fget(mget(cx/8,i/8),0) or fget(mget((cx+self.w)/8,i/8),0) then
collide = true
add(cand,mget(cx/8,i/8,0))
add(cand,mget((cx+self.w)/8,i/8))
-- self.debug = self.debug.."why"
end
end
if not collide then
self.x = cx
self.y = cy
else
for v in all(cand) do
self.debug = self.debug..v
if fget(v,2) do
--empty bucket
self.bucket = 0
elseif fget(v,7) do
--fill bucket
self.bucket +=b.s
r=0
if self.bucket > 5 then
b.s = self.bucket - 5
self.bucket = 5
else
b:move()
end
end
end
end
camera(-64+self.x, -64+self.y)
end
}
--bucket object?
b={
x=16,
y=48,
s=0,
draw=function(self)
--spr(14-self.s,self.x,self.y)
mset(self.x/8,self.y/8,14-self.s)
end,
update=function(self,t)
self.s +=t
if (self.s>5) then
e=true
self.s = 5
end
end,
move=function(self)
repeat
x=rnd(128)
y=rnd(64)
until not (fget(mget(x/8,y/8),0)) or (fget(mget(x/8,y/8),1))
mset(self.x/8,self.y/8,1)
self.x = x
self.y = y
self.s = 0
end
}
e = false
win=false
function _init()
stime = stat(95)+stat(94)*60
t=time()
camera()
end
function _update()
t=time()*5
-- using modulo operator to loop action through time
y=t % 16 - 8
--p.debug = p.debug..y
if (y > 0) then
mset(5,1+y,2)
else
mset(5,1+8+y,7)
end
x=0
y=0
if(btn(⬅️))x-=2
if(btn(➡️))x+=2
if(btn(⬇️))y+=2
if(btn(⬆️))y-=2
p:move(x,y)
b:update(.025)
end
function _draw()
cls()
if false then
print("you lost")
else
map(0,0,0,0,32,32)
p:draw()
b:draw()
end
end
__gfx__
0000000044444444cccccc1c22222222000aa000444444444cccc7c4455222544444444457ccccc5500000055000000550000005500000050000000000b00000
0111111045449444c6cc7ccc282222821aaaaaaa441111444cccccc445222c54451111145ccc7cc550000005500000055000000550000005000000000b000000
0171171044444444c6cccccc22888822a1aaaaaa44cccc4444c6cc444522225441ccc5145cccccc55cccc7c550000005500000055000000500000000b0000000
0117711044444444cccccccc22888822aa1aaa1a44cccc4444c6cc444525225441c7c61405ccc150056ccc5005c07050050000500500005000000000bbbbbbbb
0117711045444445ccccc61c22888822aaa1a1aa4cc6c16444c6c7444522225441ccd61505cccc50051cc15005cccc50050000500500005000000000b0000000
0171171045449444cccccccc22888822aaaa1aa14c6cccc4446ccc444522245441cccc1405cccc5005ccc15005cccc5005cc7c5005000050000000000b000000
0111111044944454cc7ccccc28222282a11aa1114c7cc6c44411114445212254411111140051c500005cc500005cc500005cc500005005000000000000b00000
0000000044444444cccccccc22222222000aa00046ccc6c444444444452221544444444400555500005555000055550000555500005555000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
30303030303030303030303030303030303030303030303030303030303030303030303030303030000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
30303030303030303030303030303030303030303030303030303030303030303030303030303030000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
30303010303010303030301030301030303030303030303030303030303030303030303030303030000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
20201020103030301010301010303010303030303030303030303030303030303030303030303030000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10102010101010102010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
10101010101010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__gff__
0000010102010102058181818181000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
0303030303050303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0301010101020101010101010101010303030101010103030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0301080101020101010101010101010101010101010103030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0301010101020101010101010101010101010101010103030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303020303030303010101010303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0301010101020101010101010101010303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0301010101020101010101010101010101010101010101010103030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0301010101020101010303010101010101010101010101010103030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0301010101020101010101010101010103010101010101010303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303020303030303010101030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303060303030303010101030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0103030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

19
alphabet.p8 Normal file
View File

@@ -0,0 +1,19 @@
pico-8 cartridge // http://www.pico-8.com
version 42
__gfx__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000004000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000
00700700004444000040000000000000000004000044440000444400004444000040000000400000000000000040040000400000040004000000000000444400
00077000004004000040000000000000004444000040000000400000004000000040040000000000000040000040400000400000044044000040040000400400
00077000004004000044440000444400004004000044440000444000004000000040040000400000000040000044000000400000040404000044040000400400
00700700004444000040040000400000004004000040000000400000004044000044440000400000000040000040400000400000040004000040440000400400
00000000004004000040040000400000004004000040000000400000004004000040040000400000000040000040040000400000040004000040040000400400
00000000004004000044440000444400004444000044440000400000004444000040040000400000004400000040040000444400040004000040040000444400
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000004444000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00444000004004000044440000444000044444000040040004400040040000440440000004400400000000000000000000000000000000000000000000000000
00404000004004000040040000400000000400000040040000400440040440400044044000440400004444000000000000000000000000000000000000000000
00444000004044000044440000400000000400000040040000440400040444400004400000040400000004000000000000000000000000000000000000000000
00400000004444400040400000444400000400000040040000044400040404400044440000004400000040000000000000000000000000000000000000000000
00400000000004000040040000000400000400000044040000004000004404000440044000004000000400000000000000000000000000000000000000000000
00400000000000000040040000444400000400000004440000004000004404000000004000044000004444000000000000000000000000000000000000000000

671
creature.p8 Normal file
View File

@@ -0,0 +1,671 @@
pico-8 cartridge // http://www.pico-8.com
version 42
__lua__
--main
-- notes about memory layout
--0 is flag if time has
--been set yet
--1 is the start date i think
--2 is the start time i think
--10 and onward gonna use
--for persistent storage of
--the kid stuff
--10 is the modifier
function _init()
printh("init")
cartdata("savedgame")
timeset = dget(0)
stime=dt:new()
if (timeset==0) then
stime:from(currenttime())
-- printh("save:"..stime:tostring())
stime:save()
else
stime:read()
-- printh("read:"..stime:tostring())
-- printh("starttime = ".. )
end
cls()
-- printh("goaltime"..goaltime)
m:draw()
ui:draw()
end
function _update60()
ctime=dt:new()
m:update()
ctime:from(currenttime())
if (btn(⬆️)) and
(btn(⬇️)) and
(btn(⬅️)) and
(btn(➡️)) and
(btn(❎)) and
(btn(🅾️)) then
dset(10,0) --reset kid state
dset(0,0) --reset timesaved flag
-- printh("save reset")
end
k:update(stime,ctimed)
k:save()
state[stated]:update()
end
function _draw()
state[stated]:draw()
end
-->8
--npc
p = { --player
hmap={},
x=64,
y=64,
w=4,
h=7,
dx=0,
dy=0,
xv = 0,
yv = 0,
s=1,
xo=2,
draw = function(self)
if (self.dy>0) then
printh(self.dy)
s=193
elseif (self.dy<0) then
printh(self.dy)
s=194
elseif (self.dx>0) then
printh(self.dx)
s=196
elseif (self.dx<0) then
printh(self.dx)
s=195
else
s=192
end
spr(s,self.x,self.y+((time()*2%2)))
end,
input = function(self, xv, yv)
self.dx=xv
self.dy=yv
self.xv = xv
self.yv = yv
end,
move = function(self)
if not (hitx(self.x+self.xv+self.xo,self.y,self.w,self.h)) then
self.x+= self.xv
end
if not (hity(self.x+self.xo,self.y+self.yv,self.w,self.h)) then
self.y+= self.yv
end
end
}
k={ --him
s=1,
x=196,
y=64,
m=1, --modifier
t = 0,
speed=.1,
target={x=-1,y=-1},
mv=function(self)
local bdst,bx,by =32000,0,0
for i=1,4 do
local dx,dy=dirx[i]+self.x,diry[i]+self.y
if (not shit(dx,dy,0)) then
d=dist(dx/8,dy/8,p.x/8,p.y/8)
if d<bdst then
-- printh(bdst)
bdst,bx,by=d,dirx[i],diry[i]
end
end
end
-- printh("xdir:"..xdir)
-- if (abs(xdir)>self.speed) xdir=self.speed*sgn(xdir)
self.x+=bx*self.speed
-- ydir=self.target.y-self.y
-- printh("ydir:"..ydir)
-- if (abs(ydir)>self.speed) ydir=self.speed*sgn(ydir)
self.y+=by*self.speed
end,
growtime=3.600,
update = function(self,start,current)
self.m = dget(10) --get last m
temp = tts()
self.t=temp-self.m
if (self.t<0) then
self.t=0
self.m=0
dset(10,self.m)
end
pa = self.t/self.growtime
if (self.t<self.growtime) then
self.s=3*pa+1
else
self.s=4
end
if flr(p.x/8)==flr(self.x/8) and flr(p.y/8)==flr(self.y/8) then
self.x=64+(128*(flr(rnd(2))))
self.y=64+(128*(flr(rnd(2))))
self.m+=1
fx=3/self.growtime*self.t
sfx(flr(3/self.growtime*self.t),-1,0,0)
end
end,
draw = function(self)
self:mv()
spr(self.s,self.x,self.y)
end,
save=function(self)
dset(10,self.m)
end
}
-->8
--map
m = { --map
cx=0,--camera x
cy=0,--camera y
--camera velocity
cvx=0,
cvy=0,
--target x and y
tx=0,
ty=0,
t=false,--transition
update= function(self)
tile = (mget(p.x/8,p.y/8))
f=fget(tile)
if (f>1) then
self.t = true
if ((f & 0x2)!=0) then
--n
self.cy-=128
p.y-=16
elseif ((f&0x4)!=0) then
--e
self.cx+=128
p.x+=16
elseif ((f&0x8)!=0) then
--s
self.cy+=128
p.y+=16
else
--w
self.cx-=128
p.x-=16
end
else
self.t=false
end
end,
draw = function(self)
cls()
camera(self.cx,self.cy)
map()
end
}
dt = {
s=0,
m=0,
h=0,
d=0,
mo=0,
y=0,
tostring=
function(self)
return self.s..":"
..self.m..":"
..self.h.." "
..self.d.."-"
..self.mo.."-"
..self.y
end,
from=function(self, obj)
self.s = obj.s
self.m = obj.m
self.h = obj.h
self.d = obj.d
self.mo = obj.mo
self.y = obj.y
end,
save=function(self)
-- dset(1,self:dat())
-- dset(2,self:tim())
dset(0,1)
dset(1, self.s)
dset(2, self.m)
dset(3, self.h)
dset(4, self.d)
dset(5, self.mo)
dset(6, self.y)
end,
read=function(self)
self.s=dget(1)
self.m=dget(2)
self.h=dget(3)
self.d=dget(4)
self.mo=dget(5)
self.y=dget(6)
end,
dat=function(self)
return self.y*10+self.mo/10+self.d/1000
end,
tim=function(self)
return self.h*100+self.m+self.s/100
end,
tdiff=function(self,obj)
return self:tim()-obj:tim()
end,
ddiff=function(self,obj)
return self:dat()-obj:dat()
end
}
function dt:new(obj)
obj = obj or {}
setmetatable(obj, {__index = self})
return obj
end
-->8
-- functions
--distance based on pytho
function dist(x1,y1,x2,y2)
local dx,dy=x1-x2,y1-y2
-- printh("x1: "..x1.."y1: "..y1)
-- printh("x2: "..x2.."y2: "..y2)
-- printh(x1 .. yb1 ..x2 ..y2)
f=(dx*dx+dy*dy)
return f
end
--shit (simple hit :) )
function shit(x,y,z)
return fget(mget(x/8,y/8),z)
end
-- check hit on top or bottom
function hity(x,y,w,h) --check hit on top or bottom
hit=false
for i=x,x+w do
tile1=mget(i/8,y/8)
tile2=mget(i/8,(y+h)/8)
if (fget(tile1,0)) then
hit=true
elseif (fget(tile2,0)) then
hit=true
end
end
return hit
end
--check hit on sides
function hitx(x,y,w,h) --check hit on sides
hit = false
for i=y,y+h do
tile1=mget(x/8,i/8)
tile2=mget((x+w)/8,i/8)
if (fget(tile1,0)) then
hit=true
elseif (fget(tile2,0)) then
hit=true
end
end
return hit
end
-- returns the current time.
--i have to split it up fml
function currenttime()
t = {
s=stat(95),
m=stat(94),
h=stat(93),
d=stat(92),
mo=stat(91),
y=stat(90)
}
return t
end
--timetosec
function tts()
temp = (ctime.s-stime.s)/1000
temp += (ctime.m-stime.m)*.06
temp += (ctime.h-stime.h)*3.6
temp += (ctime.d-stime.d)*86.4
temp += (ctime.mo-stime.mo)*1036.8
if (temp > 32767.99)
or ((ctime.y-stime.y)>0)
then
stated = 3 --game over
end
return temp
end
-->8
--state
state={
{--1 menu
update=function(self)
--pause toggle
if (btnp(❎)) then
stated=2
end
end,
draw=function(self)
ui:draw()
end
},
{--2 gameplay
update=function(self)
-- if (btn(🅾️)) printh(ctime:tostring())
xv = 0
yv = 0
if (btn(➡️)) xv+=p.s
if (btn(⬅️)) xv-=p.s
if (btn(⬆️)) yv-=p.s
if (btn(⬇️)) yv+=p.s
p:input(xv,yv)
p:move()
--pause toggle
if (btnp(❎)) then
stated=1
end
end,
draw=function(self)
m:draw()
p:draw()
k:draw()
end
},
{ --3 game over
update=function(self)
end,
draw=function(self)
cls()
print("you lose... the creature grew too much")
print("hold ⬆️⬇️⬅️➡️❎🅾️ to reset save")
end,
},
{--4 intro
update=function(self)
if (btnp(❎)) stated=2
end,
draw=function(self)
cls()
x=rnd(2)
y=rnd(2)
if (timeset==0) then
print("the is growing",0,0,7)
print("creature",x+16,y+1,2)
print("creature",x+16,y,8)
else
print("the growth never stops",0,0,7)
print("creature's",x+16,y+1,2)
print("creature's",x+16,y,8)
end
print(" seeks comfort.",0,8,7)
print("it",x,7+y,2)
print("it",x,8+y,8)
print("find .",0,16,7)
print("it",x+18,15+y,2)
print("it",x+18,16+y,8)
print("soothe .",0,24,7)
print("it",x+27,23+y,2)
print("it",x+27,24+y,8)
print("pres x to continue",0,80,7)
print(k.t)
end,
}
}
-->8
--ui
ui = {
elements={
kidgrowth={
text="-his- growth%: ",
x=40,
y=64,
c=7, --color
w=20,
h=20,
draw=function(self)
print(self.text..k.t/k.growtime*100,self.x, self.y, self.c)
end
},
kidalive={
text="your kid's been alive for: ",
x=0,
y=4,
c=7, --color
w=20,
h=20,
draw=function(self)
print(self.text,self.x, self.y, self.c)
print(k.t.."s",self.x, self.y+8, self.c)
end
},
testing={
text="-his- state: ",
x=40,
y=72,
c=7, --color
w=20,
h=20,
draw=function(self)
print(self.text..k.m,self.x, self.y, self.c)
end
}
},
draw= function(self)
cls()--clear screen
camera() --reset the camera to default pos
rectfill(0,0,128,128,1)
for k,v in pairs(self.elements) do
v:draw()
end
end
}
-->8
--global vars
stated=4
twodays=172800
timescale=1
stime={}
ctime={}
timeset=0
mapbounds={
x1=0,
y1=0,
x2=47,
y2=31
}
--via lazydevs
dirx={-1,1,0,0,1,1,-1,1}
diry={0,0,-1,1,-1,1,1,-1}
__gfx__
00000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000001111110166116610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000011110001611610166116610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000110000011610001612610166116610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000110000011110001111110111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000011110001211110111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000001111110111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222555555555555555555555554555555554444444455555555555444445555555544445555000000000000000000000000000000000000000000000000
2222222256dddd655555555555555554555555555555555555555555555444445555555544445555000000000000000000000000000000000000000000000000
222222225dddddd55555555555555554555555555555555555555555555444445555555544445555000000000000000000000000000000000000000000000000
222222225dddddd55555555555555554555555555555555544444555555444445555555544445555000000000000000000000000000000000000000000000000
222222225dddddd55555555555555554555555555555555544444555555444445554444455555555000000000000000000000000000000000000000000000000
222222225dddddd55555555555555554555555555555555544444555555555555554444455555555000000000000000000000000000000000000000000000000
2222222256dddd655555555555555554555555555555555544444555555555555554444455555555000000000000000000000000000000000000000000000000
22222222555555555555555555555554444444445555555544444555555555555554444455555555000000000000000000000000000000000000000000000000
22222222007777002222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222007777002222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222077cc7702211112222111122221111222211112200000000000000000000000000000000000000000000000000000000000000000000000000000000
2222222207cccc702212212222122122221221222212212200000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222077777702212212222122122221221222212212200000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222077777702211112222111122221111222211112200000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222077777702222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222007777002222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000dddd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000dddd000dddd000dddd0000000000000dddd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000dddd000dddd000dddd00000dddd0000dddd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000dddd0000dd0000dddd00000dddd0000dddd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000dd00000dd00000dd000000dddd00000dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000dd00000d000000dd0000000dd000000dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000d0d000000000000d0d000000dd000000dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000dddd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00dddd0000dddd00000000000dddd000000dddd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00dddd0000dddd0000dddd000dddd000000dddd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00dddd00000dd00000dddd000dddd000000dddd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000dd000000dd00000dddd0000dd00000000dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000dd000000d0000000dd00000dd00000000dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000dd00000000000000dd00000d0d000000d0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__gff__
0000000000000000000000000000000000010101010101010101000000000000000002040810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010102325101010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010102325101010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010102325101010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111110101010111111111111111111111111111010101011111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111124242424111111111111111111111111112424242411111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111122222222111111111111111111111111112222222211111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111110101010111111111111111111111111111010101011111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010111111111111111110101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010102325101010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010102325101010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
000200000251002510085103a310363202c3201f3300f33039330263302131014420032200b2203042034220184202422016420164200352021520194202e52013520174200c5300742008420014201151000000
000200000a3200a3200a3200a3200a3200a3200a3100b3100c3100d3100f310113101231015310183101c3201f3201e2202023021230202301f2301e2201c2201b2221a6221762215620146200a6200062000000
000200000437004370043700437004360043600436004360043600936009360083600837007370063700637006370063700637005370053700537004370043700436004360053700537005370000700000000000

398
demos/api.p8 Normal file
View File

@@ -0,0 +1,398 @@
pico-8 cartridge // http://www.pico-8.com
version 30
__lua__
-- api.p8 by zep
-- demos most api functions
-- _draw() called once per frame
function _draw()
-- clear screen to dark blue
cls(1)
-- ❎: mess with camera / clipping
camera() -- reset
if (btn(❎)) then
camera(cos(t()/6)*20,0)
clip(4,16,120,96)--x,y,w,h
end
-- draw whole map
map()
-- circles x,y,radius,col
circfill(64,160,63,6)
circ(64,160,67,14)
-- with fill pattern
fillp(░)
circfill(64,160,52,7)
fillp() -- reset
-- rectangles x0,y0,x1,y1,col
rectfill(4,4,124,10,0)
rect(2,2,126,12,0)
-- lines: x0,y0,x1,y1,col
-- (palette at top)
for i=1,15 do
line(i*8-1, 6, i*8+1, 8, i)
end
-- strings
num=8
str="hello "
str..="from api.p"..num
str_len=#str
-- print: str,x,y,col
print(str, 64-str_len*2, 20, 7)
-- tables / arrays
tbl={"a"} -- single element
add(tbl,"b") -- add to end
add(tbl,"d")
add(tbl,"c")
del(tbl,"d") --remove by value
-- iterate over the table
-- (draw letters bottom left)
cursor(2,104,5) -- x,y,col
foreach(tbl,print)
-- another way to iterate
cursor(123,104,5)
for i in all(tbl) do
print(i)
end
-- iterate with a for loop
-- starts at index 1! (not 0)
tbl={"ヒ゜","コ","◆"}
for i=1,#tbl do
print(tbl[i],2, 10+i*6,13)
print(tbl[i],114,10+i*6,13)
end
-- draw sprites
palt(2,true) --draw transparent
palt(0,false)--draw solid (eyes)
spr(2,48,32,4,4)
-- stretched sprites
-- (spinning bunnys)
-- w: width to draw
-- (1 turn ever 2 seconds)
w = cos(t()/2) * 32
-- draw back sides indigo
if (w < 0) pal(7,13)
--[[
sspr: stretch sprite
■ first 4 parameters specify
the source rect (x,y,w,h)
■ last 4 params specify the
rectangle to draw (x,y,w,h)
--]]
sspr(16,0,32,32,
24-w/2,32,w,32)
-- re-use w to mean height
-- for vertical spinning
sspr(16,0,32,32,
88,48-w/2,32,w)
pal() -- reset palette
-- rotating star sprites
for i=0,31 do
-- angle based on time
local a=(i+t()*2)/32
-- screen position
sx=64 +cos(a)*57 - 4
sy=160+sin(a)*57 - 4
-- grab pixels from spritesheet
-- to use as color
ssx = 64+i%16 -- x location
col=sget(ssx,0) -- grab it
-- draw star in that color
pal(7,col) -- (remap white)
spr(16, sx,sy)
end
pal() -- reset
-- draw state of buttons
for pl=0,7 do
for b=0,7 do
sx=57+b*2
sy=70+pl*2
col=5
if (btn(b,pl)) col=b+7
pset(sx,sy,col)
end
end
end
-- _update(): called 30 fps
-- (use _update60 for 60fps)
function _update()
-- button pressed: play a sfx
if (btnp(🅾️)) then
sfx(0)
end
end
-- _init() called once at start
function _init()
-- music loops every 4 patterns
-- because the loop-back flag
-- is set on pattern 3
music(0)
-- make a custom menu item
menuitem(1, "play sfx",
function()
sfx(3)
end
)
end
__gfx__
00000000000000002222222222222222222222222222222200000dddddd00000ddd877eeecccdd55000000000000000000000000000000000000000000000000
000000000000000022222222222222222222222222222222000dddddddddd0000000000000000000000000000000000000000000000000000000000000000000
00700700000000002222222222222222222222222222222200dddddddddddd000000000000000000000000000000000000000000000000000000000000000000
0007700000000000222222777722222222222277772222220dddddddddddddd00000000000000000000000000000000000000000000000000000000000000000
0007700000000000222227777772222222222777777222220dddddddddddddd00000000000000000000000000000000000000000000000000000000000000000
007007000000000022227777777722222222777777772222dddddddddddddddd0000000000000000000000000000000000000000000000000000000000000000
000000000000000022227778877722222222777bb7772222dddddddddddddddd0000000000000000000000000000000000000000000000000000000000000000
00000000000000002222778877772222222277bb77772222dddddddddddddddd0000000000000000000000000000000000000000000000000000000000000000
00000000000000002222778779772222222277b77c772222dddddddd000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000222277779977222222227777cc772222dddddddd000000000000000000000000000000000000000000000000000000000000000000000000
000070000000000022227779977722222222777cc7772222dddddddd000000000000000000000000000000000000000000000000000000000000000000000000
00777770000000002222779977772222222277cc77772222dddddddd000000000000000000000000000000000000000000000000000000000000000000000000
0007770000000000222277977a772222222277c77e772222dddddddd000000000000000000000000000000000000000000000000000000000000000000000000
000707000000000022227777aa77222222227777ee772222dddddddd000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222777aa77722222222777ee7772222dddddddd000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000222277aa77772222222277ee77772222dddddddd000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222777777777777777777777777222200000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222777777777777777777777777222200000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222777777777777777777777777222200d00000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000222277777777777777777777777722220d6d0000000600000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222777777777777777777777777222200d00000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222777777777777777777777777222200000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222777007777777777777700777222200000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222777007777777777777700777222200000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222777007777777777777700777222200000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222777777777777777777777777222200000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222277777777777777777777772222200000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222277777777770077777777772222200000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222227777777777777777777722222200000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222222277777777777777772222222200000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222222222222222222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222222222222222222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222222222222222222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222227777222222222277772222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222277777722222222777777222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222777777772222227777777722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2222277788777222222777bb77722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
222227788777722222277bb777722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
222227787797722222277b77c7722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222777799772222227777cc7722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2222277799777222222777cc77722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
222227799777722222277cc777722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2222277977a7722222277c77e7722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
222227777aa772222227777ee7722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222777aa777222222777ee77722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2222277aa777722222277ee777722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222777777777777777777777722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222777777777777777777777722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222777777777777777777777722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222777777777777777777777722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222777007777777777770077722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222777007777777777770077722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222777007777777777770077722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222777777777777777777777722222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222277777777777777777777222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222277777777700777777777222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222227777777777777777772222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222277777777777777222222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222222222222222222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222222222222222222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222222222222222222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222222222222222222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__label__
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
11011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101
11010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101
11010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101
1101000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000101
11010000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f0000101
110100000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000101
11010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101
11010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101
11011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101
11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11dd11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111dd111
111d111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111d111
111d111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111d111
111d111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111d111
11ddd1111111111111111111111111717177717111711117711111777177711771777111117771777177711111777177711111111111111111111111111ddd11
11111111111111111111111111111171717111711171117171111171117171717177711111717171711711111171717171111111111111111111111111111111
11ddd1111111111111111111111111777177117111711171711111771177117171717111117771777117111111777177711111111111111111111111111ddd11
1111d111111111111111111111111171717111711171117171111171117171717171711111717171111711111171117171111111111111111111111111111d11
11ddd1111111111111111111111111717177717771777177111111711171717711717111117171711177711711711177711111111111111111111111111ddd11
11d111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111d1111
11ddd1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111ddd11
11111111111111111116111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11ddd1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111ddd11
1111d111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111d11
111dd11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111dd11
1111d111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111d11
11ddd1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111ddd11
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111d11111111111111111111111111111
111111111111111111dd1111111dd11111111111111111111111117777111111111111777711111111111111111111111d6d1111111111111111111111111111
11111111111111111dddd11111dddd11111111111111111111111777777111111111177777711111111111111111111111d11111111111111111111111111111
1111111111111111ddddd11111ddddd1111111111111111111117777777711111111777777771111111111111111111111111111111111111111111111111111
1111111111111111ddbdd11111dd8dd1111111111111111111117778877711111111777bb7771111111111111111111111111111111111111111111111111111
1111111111111111dddbd11111dd8dd111111111111111111111778877771111111177bb777711111111111111111111dddddddddddddddd1111111111111111
1111111111111111dddbd11111d9ddd111111111111111111111778779771111111177b77c7711111111111111111dddddddddd00dddddddddd1111111111111
1111111111111111ddcdd11111d9ddd11111111111111111111177779977111111117777cc7711111111111111111dddddddddddddddddddddd1111111111111
1111111111111111ddcdd11111dd9dd1111111111111111111117779977711111111777cc7771111111111111111ddd00dddddddddddddd00ddd111111111111
1111111111111111dddcd11111dd9dd111111111111111111111779977771111111177cc77771111111111111111ddd00dddddddddddddd00ddd111111111111
1111111111111111dddcd11111daddd11111111111111111111177977a771111111177c77e771111111111111111dddddddddddddddddddddddd111111111111
1111111111111111ddedd11111daddd1111111111111111111117777aa77111111117777ee771111111111111111dddddddddddddddddddddddd111111111111
1111111111111111ddedd11111ddadd111111111111111111111777aa77711111111777ee7771111111111111111dddddddddddddddddddddddd111111111111
1111111111111111ddded11111ddadd11111111111111111111177aa77771111111177ee77771111111111111111dddddddddddddddddddddddd111111111111
1111111111111111ddddddddddddddd1111111111111111111117777777777777777777777771111111111111111dddaaddd11111111dddeeddd111111111111
1111111111111111ddddddddddddddd1111111111111111111117777777777777777777777771111111111111111dd9ddadd11111111ddcddedd111111111111
1111111111111111ddddddddddddddd1111111111111111111117777777777777777777777771111111111111111ddd99ddd11111111dddccddd111111111111
1111111111111111ddddddddddddddd1111111111111111111117777777777777777777777771111111111111111dddd99dd11111111ddddccdd111111111111
1111111111111111ddddddddddddddd1111111111111111111117777777777777777777777771111111111111111dd88dddd11111111ddbbdddd111111111111
1111111111111111ddddddddddddddd1111111111111111111117777777777777777777777771111111111111111dddddddd11111111dddddddd111111111111
1111111111111111dd0ddddddddd0dd11111111111111111111177700777777777777770077711111111111111111dddddd1111111111dddddd1111111111111
1111111111111111dd0ddddddddd0dd1111111111111111111117770077777777777777007771111111111111111111111111111111111111111111111111111
1111111111111111dd0ddddddddd0dd1111111111111111111117770077777777777777007771111111111111111111111111111111111111111111111111111
1111111111111111ddddddddddddddd1111111111111111111117777777777777777777777771111111111111111111111111111111111111111111111111111
11111111111111111ddddddddddddd11111111111111111111111777777777777777777777711111111111111111111111111111111111111111111111111111
11111111111111111dddddd0dddddd11111111111111111111111777777777700777777777711111111111111111111111161111111111111111111111111111
111111111111111111ddddddddddd111111111111111111111111177777777777777777777111111111111111111111111111111111111111111111111111111
1111111111111111111ddddddddd1111111111111111111111111111777777777777777711111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111d11111
1111111111111111111111111111111111111111111111111116111111111111111111111111111111111111111111111111111111111111111111111d6d1111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111d11111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111151515151515151511111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111151515151515151511111dddddd111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111dddddddddd1111111111111111111111111111111111111111111
1111111111d111111111111111111111111111111111111111111111151515151515151511dddddddddddd111111111111111111111111111111111111111111
111111111d6d1111111111111111111111111111111111111111111111111111111111111dddddddddddddd11111111111111111111111111111111111111111
1111111111d11111111111111111111111111111111111111111111115151515151515151dddddddddddddd11111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111dddddddddddddddd1111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111515151515151515dddddddddddddddd1111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111dddddddddddddddd1111111111111111111111111111111111111111
111111111111111111111dddddd1111111111111111111111111111115151515151515d5ddddddddddddddddddd11111111111111111111111111dddddd11111
1111111111111111111dddddddddd11111111111111111111111111111111111111dddddddddddddddddddddddddd1111111111111111111111dddddddddd111
111111111111111111dddddddddddd111111111111111111111111111515151515d5d5d5dddddddddddddddddddddd11111111111111111111dddddddddddd11
11111111111111111dddddddddddddd1111111111111111111111111111111111dddddddddddddddddddddddddddddd111111111111111111dddddddddddddd1
11111111111111111dddddddddddddd11111111111111111111111111515151515d5d5d5ddddddddddddddddddddddd111111111111111111dddddddddddddd1
1111111111111111dddddddddddddddd11111111111111111111111111111111dddddddddddddddddddddddddddddddd1111111111111111dddddddddddddddd
1111111111111111dddddddddddddddd11111111111111111111111111111111dddddddddddddddddddddddddddddddd1111111111111111dddddddddddddddd
1111111111111111dddddddddddddddd11111111111111111111111111111111dddddddddddddddddddddddddddddddd1111111111111111dddddddddddddddd
1111111111111dddddddddddddddddddddd11111111111111111111111111dddddddddddddddddddddddddddddddddddddd1111111111ddddddddddddddddddd
11111111111dddddddddddddddddddddddddd1111111111111111111111dddddddddddddddddddddddddddddddddddddddddd111111ddddddddddddddddddddd
1111111111dddddddddddddddddddddddddddd11111111111111111111dddddddddddddddddddddddddddddddddddddddddddd1111dddddddddddddddddddddd
111111111dddddddddddddddddddddddddddddd111111111111111111dddddddddddddddddddddddddddddddddddddddddddddd11ddddddddddddddddddddddd
111111111dddddddddddddddddddddddddddddd111111111111111111dddddddddddddddddddddddddddddddddddddddddddddd11ddddddddddddddddddddddd
11111111dddddddddddddddddddddddddddddddd1111111111111111eeeeeeeeeeeeeeeeeddddddddddddddddddddddddddddddddddddddddddddddddddddddd
11111111dddddddddddddddddddddddddddddddd1111111111eeeeeedddddddddddddddddeeeeeeddddddddddddddddddddddddddddddddddddddddddddddddd
11111111dddddddddddddddddddddddddddddddd111111eeee111111dddddddddddddddddddddddeeeeddddddddddddddddddddddddddddddddddddddddddddd
11111ddddddddddddddddddddddddddddddddddddddeee1111111ddddddddddddddddddddddddddddddeeedddddddddddddddddddddddddddddddddddddddddd
111dddddddddddddddddddddddddddddddddddddeeedd111111dddddd666666666666666ddddddddddddddeeeddddddddddddddddddddddddddddddddddddddd
11ddddddddddddddddddddddddddddddddddddeedddddd1111d666666666666666666666666666dddddddddddeeddddddddddddddddddddddddddddddddddddd
1dddddddddddddddddddddddddddddddddddeeddddddddd66666666666666666666666666666666666dddddddddeeddddddddddddddddddddddddddddddddddd
1dddddddddddddddddddddddddddddddddeedddddddd66666666666666666666666666666666666666666ddddddddeeddddddddddddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddeeddddddd666666666666666666e6666666666e66666666666666666dddddddeeddddddddddddddddddddddddddddddd
ddddddddddddddddddddddddddddddeeddddddd666666666666666666eeeee666666eeeee66666666666666666dddddddeeddddddddddddddddddddddddddddd
ddddddddddddddddddddddddddddeeddddddd66666666666e666666666eee66666666eee66666666676666666666dddddddeeddddddddddddddddddddddddddd
dd555ddddddddddddddddddddddeddddddd66666666666eeeee6666666e6e66666666e6e6666666777776666666666dddddddeddddddddddddddddddddd555dd
dd5d5dddddddddddddddddddddedddddd66666666666666eee6666666666666666666666666666667776666666666666ddddddedddddddddddddddddddd5d5dd
dd555dddddddddddddddddddeeddddd6666666666666666e6e666666666666666666666666666666767666666666666666dddddeedddddddddddddddddd555dd
dd5d5ddddddddddddddddddedddddd66666666c666666666666666666666666666666666666666666666666666666666666ddddddeddddddddddddddddd5d5dd
dd5d5dddddddddddddddddeddddd66666666ccccc666666666666666666676667666766666666666666666666667666666666dddddedddddddddddddddd5d5dd
ddddddddddddddddddddeeddddd6666666666ccc66666666666666766676667666766676667666666666666667777766666666dddddeeddddddddddddddddddd
dd555ddddddddddddddedddddd66666666666c6c666666666666766676667666766676667666766666666666667776666666666ddddddeddddddddddddd555dd
dd5d5dddddddddddddeddddd666666666666666666666676667666766676667666766676667666766676666666767666666666666dddddedddddddddddd5d5dd
dd55dddddddddddddeddddd66666666666666666666676667666766676667666766676667666766676667666666666666666666666dddddeddddddddddd55ddd
dd5d5dddddddddddeddddd666666c666666666666676667666766676667666766676667666766676667666766666666666666666666dddddedddddddddd5d5dd
dd555ddddddddddeddddd66666ccccc66666666676667666766676667666766676667666766676667666766676666666666668666666dddddeddddddddd555dd
ddddddddddddddeddddd6666666ccc6666666676667666766676667666766676667666766676667666766676667666666668888866666dddddeddddddddddddd
ddd55ddddddddeddddd66666666c6c66666676667666766676667666766676667666766676667666766676667666766666668886666666dddddedddddddd55dd
dd5ddddddddddedddd666666666666666666667666766676667666766676667666766676667666766676667666766666666686866666666ddddeddddddd5dddd
dd5dddddddddedddd66666666666666666667666766676667666766676667666766676667666766676667666766676666666666666666666ddddedddddd5dddd
dd5ddddddddedddd6666666666666666667666766676667666766676667666766676667666766676667666766676667666666666666666666ddddeddddd5dddd
ddd55dddddedddd66666c666666666667666766676667666766676667666766676667666766676667666766676667666766666666666666666ddddeddddd55dd
ddddddddddedddd666ccccc6666666766676667666766676667666766676667666766676667666766676667666766676667666666666666666ddddeddddddddd
dddddddddedddd66666ccc66666676667666766676667666766676667666766676667666766676667666766676667666766676666666d666666ddddedddddddd
ddddddddedddd666666c6c666666667666766676667666766676667666766676667666766676667666766676667666766676666666ddddd66666ddddeddddddd
dddddddedddd66666666666666667666766676667666766676667666766676667666766676667666766676667666766676667666666ddd6666666ddddedddddd
dddddddedddd66666666666666766676667666766676667666766676667666766676667666766676667666766676667666766676666d6d6666666ddddedddddd
ddddddedddd66666666666666666766676667666766676667666766676667666766676667666766676667666766676667666766666666666666666ddddeddddd
ddddddeddd6666666666666666766676667666766676667666766676667666766676667666766676667666766676667666766676666666666666666dddeddddd
__map__
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000270000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000002600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000002700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000002700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000002700000000000000002600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0026000000000000000607000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000060700000000061616070000060700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0006161607000006161616160706161600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0616161616070616161616161616161600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1616161616161616161616161616161600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1616161616161616161616161616161600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1616161616161616161616161616161600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
000100000e0701007011070140601505017040190401b0301c0301e0301f020210202202024020250202702028020290102b0102c0102d0102e0102e0102f0103001030010310103101031010320100000000000
01100000007450070500705007050c7450070500705007050474500705007050070510745007050070500705027450070500705007050e7450070500705007050774500705007050070513745007050070500705
01100000180001c0001f03623026180161c0161f00023000180361c0261f01621016000000000000000000001a0361d02621016240161f006230061a0361d0361f026230261d0261f0261d0261f0162370526705
31040000185501c5501f550185501c5501f5501c5501f550245501c5501f55024550285501f550245502855000000000000000000000000000000000000000000000000000000000000000000000000000000000
__music__
01 01424344
00 01424344
00 01024344
02 01024344

222
demos/automata.p8 Normal file
View File

@@ -0,0 +1,222 @@
pico-8 cartridge // http://www.pico-8.com
version 19
__lua__
-- 1-d cellular automata demo
-- by zep
-- ref: wikipedia.org/wiki/cellular_automaton
cls()
l=0 -- line count
--uncomment for kaleidoscope
--poke(0x5f2c,7)
-- starting rule set
r={[0]=0,1,0,1,1,0,0,1}
function _update()
l+=1
-- change rule every 16 lines
-- (or when ❎ is pressed)
if (l%16==0 or btnp(❎)) then
for i=1,7 do
r[i]=flr(rnd(2.3))
end
end
-- if the line is blank, add
-- something to get it started
found = false
for x=0,127 do
if (pget(x,127)>0) found=true
end
if (not found) then
pset(63,127,7)
end
end
function _draw()
-- scroll
memcpy(0x6000,0x6040,0x1fc0)
for x=0,127
do n=0
for b=0,2 do
if (pget(x-1+b,126)>0)
then
n += 2 ^ b -- 1,2,4
end
end
pset(x,127,r[n]*7)
end
end
__gfx__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__label__
00000000000000000000000000000000000000000000000000000007000000000000000700000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000070700000000000007070000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000700070000000000070007000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000007070707000000000707070700000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000070000000700000007000000070000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000707000007070000070700000707000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000007000700070007000700070007000700000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000070707070707070707070707070707070000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000707070707070707070707070707070700000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000007070707070707070707070707070707000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000070707070707070707070707070707070000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000707070707070707070707070707070700000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000007070707070707070707070707070707000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000070707070707070707070707070707070000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000707070707070707070707070707070700000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000007070707070707070707070707070707000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000070707070707070707070707070707070000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000707070707070707070707070707070700000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000007070707070707070707070707070707000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000070707070707070707070707070707070000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000707070707070707070707070707070700000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000007070707070707070707070707070707000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000070707070707070707070707070707070000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000707070707070707070707070707070700000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000007777777777777777777777777777777e0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000007777777777777777777777777777777e000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000007777777777777777777777777777777e00000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000007777777777777777777777777777777e0000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000007777777777777777777777777777777e000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000007777777777777777777777777777777e00000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000007777777777777777777777777777777e0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000007777777777777777777777777777777e000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000007777777777777777777777777777777e00000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000007777777777777777777777777777777e0000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000007777777777777777777777777777777e000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000007777777777777777777777777777777e00000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000007777777777777777777777777777777e0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000007777777777777777777777777777777e000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000007777777777777777777777777777777e00000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000007777777777777777777777777777777e0000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000007000000000000000000000000000000007000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000070700000000000000000000000000000070700000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000700070000000000000000000000000000700070000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000007070707000000000000000000000000007070707000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000070000000700000000000000000000000070000000700000000000000000000000000000000000000000000
00000000000000000000000000000000000000000707000007070000000000000000000000707000007070000000000000000000000000000000000000000000
00000000000000000000000000000000000000007000700070007000000000000000000007000700070007000000000000000000000000000000000000000000
00000000000000000000000000000000000000070707070707070700000000000000000070707070707070700000000000000000000000000000000000000000
00000000000000000000000000000000000000700000000000000070000000000000000700000000000000070000000000000000000000000000000000000000
00000000000000000000000000000000000007070000000000000707000000000000007070000000000000707000000000000000000000000000000000000000
00000000000000000000000000000000000070007000000000007000700000000000070007000000000007000700000000000000000000000000000000000000
00000000000000000000000000000000000707070700000000070707070000000000707070700000000070707070000000000000000000000000000000000000
00000000000000000000000000000000007000000070000000700000007000000007000000070000000700000007000000000000000000000000000000000000
00000000000000000000000000000000070700000707000007070000070700000070700000707000007070000070700000000000000000000000000000000000
00000000000000000000000000000000700070007000700070007000700070000700070007000700070007000700070000000000000000000000000000000000
00000000000000000000000000000007070707070707070707070707070707007070707070707070707070707070707000000000000000000000000000000000
00000000000000000000000000000007e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7707e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7700000000000000000000000000000000
000000000000000000000000000000070000000000000000000000000000007e7000000000000000000000000000000770000000000000000000000000000000
00000000000000000000000000000007700000000000000000000000000000707700000000000000000000000000000777000000000000000000000000000000
000000000000000000000000000000077700000000000000000000000000007e7770000000000000000000000000000707700000000000000000000000000000
000000000000000000000000000000070770000000000000000000000000007000770000000000000000000000000007e7770000000000000000000000000000
00000000000000000000000000000007e77700000000000000000000000000770077700000000000000000000000000700077000000000000000000000000000
00000000000000000000000000000007000770000000000000000000000000777070770000000000000000000000000770077700000000000000000000000000
00000000000000000000000000000007700777000000000000000000000000707e7e777000000000000000000000000777070770000000000000000000000000
000000000000000000000000000000077707077000000000000000000000007e7000007700000000000000000000000707e7e777000000000000000000000000
0000000000000000000000000000000707e7e77700000000000000000000007077000077700000000000000000000007e7000007700000000000000000000000
00000000000000000000000000000007e700000770000000000000000000007e7770007077000000000000000000000707700007770000000000000000000000
00000000000000000000000000000007077000077700000000000000000000700077007e777000000000000000000007e7770007077000000000000000000000
00000000000000000000000000000007e77700070770000000000000000000770077707000770000000000000000000700077007e77700000000000000000000
0000000000000000000000000000000700077007e7770000000000000000007770707e7700777000000000000000000770077707000770000000000000000000
00000000000000000000000000000007700777070007700000000000000000707e7e7007707077000000000000000007770707e7700777000000000000000000
00000000000000000000000000000007770707e770077700000000000000007e700077077e7e7770000000000000000707e7e700770707700000000000000000
000000000000000000000000000000e0770000777ee077e00000000000000e077e0e07007777777e00000000000000e0007777ee0700007e0000000000000000
00000000000000000000000000000e0007e00e077770077e000000000000e000770000ee07777777e000000000000e0e0e07777700e00e07e000000000000000
0000000000000000000000000000e0e0e07ee000777ee077e0000000000e0e0e07e00e07007777777e0000000000e00000007777ee0ee0007e00000000000000
000000000000000000000000000e000000077e0e077770077e00000000e00000007ee000ee07777777e00000000e0e00000e077777007e0e07e0000000000000
00000000000000000000000000e0e00000e0770000777ee077e000000e0e00000e077e0e07007777777e000000e000e000e0007777ee0700007e000000000000
0000000000000000000000000e000e000e0007e00e077770077e0000e000e000e000770000ee07777777e0000e0e0e0e0e0e0e07777700e00e07e00000000000
000000000000000000000000e0e0e0e0e0e0e07ee000777ee077e00e0e0e0e0e0e0e07e00e07007777777e00e0000000000000007777ee0ee0007e0000000000
00000000000000000000000e00000000000000077e0e077770077ee0000000000000007ee000ee07777777ee0e0000000000000e077777007e0e07e000000000
0000000000000000000000e0e0000000000000e0770000777ee0777e0000000000000e077e0e07007777777700e00000000000e0007777ee0700007e00000000
000000000000000000000e000e00000000000e0007e00e0777700777e00000000000e000770000ee07777777ee0e000000000e0e0e07777700e00e07e0000000
00000000000000000000e0e0e0e000000000e0e0e07ee000777ee0777e000000000e0e0e07e00e07007777777700e0000000e00000007777ee0ee0007e000000
0000000000000000000e0000000e0000000e000000077e0e0777700777e0000000e00000007ee000ee07777777ee0e00000e0e00000e077777007e0e07e00000
000000000000000000e0e00000e0e00000e0e00000e0770000777ee0777e00000e0e00000e077e0e07007777777700e000e000e000e0007777ee0700007e0000
00000000000000000e000e000e000e000e000e000e0007e00e0777700777e000e000e000e000770000ee07777777ee0e0e0e0e0e0e0e0e07777700e00e07e000
0000000000000000e0e0e0e0e0e0e0e0e0e0e0e0e0e0e07ee000777ee0777e0e0e0e0e0e0e0e07e00e0700777777770000000000000000007777ee0ee0007e00
000000000000000e000000000000000000000000000000077e0e077770077700000000000000007ee000ee07777777e0000000000000000e077777007e0e07e0
0000000000000077e000000000000000000000000000007e07e7ee007e7e07e000000000000007e07e07e7ee0000007e0000000000000077ee0007e7e7e7ee7e
00000000000007e07e0000000000000000000000000007e7ee0007e7e007ee7e0000000000007e7ee7ee0007e00007e7e0000000000007e007e07e0000000007
0000000000007e7ee7e00000000000000000000000007e0007e07e007e7e0007e00000000007e0000007e07e7e007e007e00000000007e7e7e7ee7e000000077
000000000007e000007e000000000000000000000007e7e07e7ee7e7e007e07e7e000000007e7e00007e7ee007e7e7e7e7e000000007e0000000007e000007e7
00000000007e7e0007e7e0000000000000000000007e007ee00000007e7e7ee007e0000007e007e007e0007e7e000000007e0000007e7e00000007e7e0007e07
0000000007e007e07e007e00000000000000000007e7e7e07e000007e000007e7e7e00007e7e7e7e7e7e07e007e0000007e7e00007e007e000007e007e07e7e7
000000007e7e7e7ee7e7e7e000000000000000007e00007ee7e0007e7e0007e00007e007e00000000007ee7e7e7e00007e007e007e7e7e7e0007e7e7e7ee0007
00000007e00000000000007e0000000000000007e7e007e0007e07e007e07e7e007e7e7e7e000000007e00000007e007e7e7e7e7e0000007e07e00000007e077
0000007e7e000000000007e7e00000000000007e007e7e7e07e7ee7e7e7ee007e7e0000007e0000007e7e000007e7e7e000000007e00007e7ee7e000007e7ee7
000007e007e0000000007e007e000000000007e7e7e00007ee00000000007e7e007e00007e7e00007e007e0007e00007e0000007e7e007e000007e0007e00007
00007e7e7e7e00000007e7e7e7e0000000007e00007e007e07e000000007e007e7e7e007e007e007e7e7e7e07e7e007e7e00007e007e7e7e0007e7e07e7e0077
0007e0000007e000007e0000007e00000007e7e007e7e7e7ee7e0000007e7e7e00007e7e7e7e7e7e0000007ee007e7e007e007e7e7e00007e07e007ee007e7e7
007e7e00007e7e0007e7e00007e7e000007e007e7e0000000007e00007e00007e007e00000000007e00007e07e7e007e7e7e7e00007e007e7ee7e7e07e7e0007
07e007e007e007e07e007e007e007e0007e7e7e007e00000007e7e007e7e007e7e7e7e000000007e7e007e7ee007e7e0000007e007e7e7e00000007ee007e077
7e7e7e7e7e7e7e7ee7e7e7e7e7e7e7e07e00007e7e7e000007e007e7e007e7e0000007e0000007e007e7e0007e7e007e00007e7e7e00007e000007e07e7e7ee7
e000000000000000000000000000007ee7e007e00007e0007e7e7e007e7e007e00007e7e00007e7e7e007e07e007e7e7e007e00007e007e7e0007e7ee0000007
0e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee000eeeee000000
00e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee000eeeee00000
000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee000eeeee0000
0000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee000eeeee000
00000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee000eeeee00
000000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee000eeeee0
0000000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee000eeeee
00000000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee000eeee
000000000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee000eee
0000000000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee000ee
00000000000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee000e
000000000000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee000
0000000000000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee00
00000000000000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee0
000000000000000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eeee
0000000000000000e00000000000000000000000000000eeeee00ee0000ee000eeeeee00eeee00ee0000eeee0000eeeeee00e70ee00eeeeee00ee0000ee00eee
0000000000000007e700000000000000000000000000070000e770e70070e70700000e77000e770e7007000e700700000e770e00e7700000e770e70070e7700e
00000000000000700e700000000000000000000000007e700700e00e77e00e0e7000700e70700e00e77e7070e77e7000700e0e7700e7000700e00e77e000e77e
00000000000007e770e700000000000000000000000700e77e77e77000e77e00e707e770e0e77e770000e0e00000e707e77e000e770e707e77e77000e707000e
0000000000007000e00e70000000000000000000007e7700000000e707000e770e0000e0e000000e7007e0e700070e00000e70700e00e0000000e7070e0e707e
000000000007e707e770e700000000000000000007000e700000070e0e70700e0e7007e0e7000070e770e00e707e0e700070e0e77e77e70000070e0e0e00e00e
0000000000700e0000e00e7000000000000000007e7070e700007e0e00e0e77e00e770e00e7007e000e0e770e00e00e707e0e00000000e70007e0e0e0e77e77e
0000000007e77e7007e770e7000000000000000700e0e00e70070e0e77e0000e7700e0e770e770e707e000e0e77e770e00e0e700000070e7070e0e0e0000000e
00000000700000e77000e00e700000000000007e77e0e770e77e0e0000e700700e77e000e000e00e00e707e000000e0e77e00e700007e00e0e0e0e0e7000007e

225
demos/bounce.p8 Normal file
View File

@@ -0,0 +1,225 @@
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

520
demos/cast.p8 Normal file
View File

@@ -0,0 +1,520 @@
pico-8 cartridge // http://www.pico-8.com
version 41
__lua__
-- raycasting demo
-- by zep
-- field of view
fov = 0.2 -- 0.2 = 72 degrees
-- true: to get wall patterns
-- based on distance
if (false) then
patterns={
[0]=♥,▤,∧,✽,♥,◆,
░,░,░,░,
…,…,…,…
}
end
function _init()
-- create player
pl={}
pl.x = 12 pl.y = 12
pl.dx = 0 pl.dy = 0
pl.z = 12
pl.d = 0.25
pl.dz = 0
pl.jetpack=false
-- map
for y=0,31 do
for x=0,31 do
mset(x,y,mget(x,y)*3)
end
end
end
-- map z
function mz(x,y)
return 16-mget(x,y)*0.125
end
function _update()
-- moving walls
for x=10,18 do
for y=26,28 do
mset(x,y,34+cos(t()/4+x/14)*19)
end
end
-- control player
local dx=0
local dy=0
if (btn(❎)) then
-- strafe
if (btn(⬅️)) dx-=1
if (btn(➡️)) dx+=1
else
-- turn
if (btn(⬅️)) pl.d+=0.02
if (btn(➡️)) pl.d-=0.02
end
-- forwards / backwards
if (btn(⬆️)) dy+= 1
if (btn(⬇️)) dy-= 1
spd = sqrt(dx*dx+dy*dy)
if (spd) then
spd = 0.1 / spd
dx *= spd
dy *= spd
pl.dx += cos(pl.d-0.25) * dx
pl.dy += sin(pl.d-0.25) * dx
pl.dx += cos(pl.d+0.00) * dy
pl.dy += sin(pl.d+0.00) * dy
end
local q = pl.z - 0.6
if (mz(pl.x+pl.dx,pl.y) > q)
then pl.x += pl.dx end
if (mz(pl.x,pl.y+pl.dy) > q)
then pl.y += pl.dy end
-- friction
pl.dx *= 0.6
pl.dy *= 0.6
-- z means player feet
if (pl.z >= mz(pl.x,pl.y) and pl.dz >=0) then
pl.z = mz(pl.x,pl.y)
pl.dz = 0
else
pl.dz=pl.dz+0.01
pl.z =pl.z + pl.dz
end
-- jetpack / jump when standing
if (btn(4)) then
if (pl.jetpack or
mz(pl.x,pl.y) < pl.z+0.1)
then
pl.dz=-0.15
end
end
end
function draw_3d()
local celz0
local col
-- calculate view plane
local v={}
v.x0 = cos(pl.d+fov/2)
v.y0 = sin(pl.d+fov/2)
v.x1 = cos(pl.d-fov/2)
v.y1 = sin(pl.d-fov/2)
for sx=0,127 do
-- make all of these local
-- for speed
local sy=127
-- camera based on player pos
local x=pl.x
local y=pl.y
-- (player eye 1.5 units high)
local z=pl.z-1.5
local ix=flr(x)
local iy=flr(y)
local tdist=0
local col=mget(ix,iy)
local celz=16-col*0.125
-- calc cast vector
local dist_x, dist_y,vx,vy
local last_dir
local t=sx/127
vx = v.x0 * (1-t) + v.x1 * t
vy = v.y0 * (1-t) + v.y1 * t
local dir_x = sgn(vx)
local dir_y = sgn(vy)
local skip_x = 1/abs(vx)
local skip_y = 1/abs(vy)
if (vx > 0) then
dist_x = 1-(x%1) else
dist_x = (x%1)
end
if (vy > 0) then
dist_y = 1-(y%1) else
dist_y = (y%1)
end
dist_x = dist_x * skip_x
dist_y = dist_y * skip_y
-- start skipping
local skip=true
while (skip) do
if (dist_x < dist_y) then
ix=ix+dir_x
last_dir = 0
dist_y = dist_y - dist_x
tdist = tdist + dist_x
dist_x = skip_x
else
iy=iy+dir_y
last_dir = 1
dist_x = dist_x - dist_y
tdist = tdist + dist_y
dist_y = skip_y
end
-- prev cel properties
col0=col
celz0=celz
-- new cel properties
col=mget(ix,iy)
--celz=mz(ix,iy)
celz=16-col*0.125 -- inlined for speed
-- print(ix.." "..iy.." "..col)
if (col==72) then skip=false end
--discard close hits
if (tdist > 0.05) then
-- screen space
local sy1 = celz0-z
sy1 = (sy1 * 64)/tdist
sy1 = sy1 + 64 -- horizon
-- draw ground to new point
if (sy1 < sy) then
line(sx,sy1-1,sx,sy,
sget((celz0*2)%16,8))
sy=sy1
end
-- draw wall if higher
if (celz < celz0) then
local sy1 = celz-z
sy1 = (sy1 * 64)/tdist
sy1 = sy1 + 64 -- horizon
if (sy1 < sy) then
local wcol = last_dir*-6+13
if (not skip) then
wcol = last_dir+5
end
if (patterns) then
fillp(patterns[flr(tdist/3)%8]-0.5)
wcol=103+last_dir*102
end
line(sx,sy1-1,sx,sy,
wcol)
sy=sy1
fillp()
end
end
end
end -- skipping
end -- sx
cursor(0,0) color(7)
print("cpu:"..flr(stat(1)*100).."%",1,1)
end
function _draw()
cls()
-- to do: sky? stars?
rectfill(0,0,127,127,12)
draw_3d()
-- draw map
if (false) then
map(0,0,0,0,32,32)
pset(pl.x*8,pl.y*8,12)
pset(pl.x*8+cos(pl.d)*2,pl.y*8+sin(pl.d)*2,13)
end
end
__gfx__
00000000111111112222222233333333444444445555555566666666777777778888888899999999aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffff
00000000111111112222222233333333444444445555555566666666777777778888888899999999aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffff
00700700111111112222222233333333444444445555555566666666777777778888888899999999aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffff
00077000111111112222222233333333444444445555555566666666777777778888888899999999aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffff
00077000111111112222222233333333444444445555555566666666777777778888888899999999aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffff
00700700111111112222222233333333444444445555555566666666777777778888888899999999aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffff
00000000111111112222222233333333444444445555555566666666777777778888888899999999aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffff
00000000111111112222222233333333444444445555555566666666777777778888888899999999aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffff
32222228a9e89aeb00000000000000004444444400000000000000000000000088888888000000000000000000000000000000000000000000000000ffffffff
000000000000000000000000000000004444444400000000000000000000000088888888000000000000000000000000000000000000000000000000f888888f
0000000000000000000000000000000044ffff4400000000000000000000000088ffff88000000000000000000000000000000000000000000000000f8ffff8f
0000000000000000000000000000000044ffff4400000000000000000000000088ffff88000000000000000000000000000000000000000000000000f8ffff8f
0000000000000000000000000000000044ffff4400000000000000000000000088ffff88000000000000000000000000000000000000000000000000f8ffff8f
0000000000000000000000000000000044ffff4400000000000000000000000088ffff88000000000000000000000000000000000000000000000000f8ffff8f
000000000000000000000000000000004444444400000000000000000000000088888888000000000000000000000000000000000000000000000000f888888f
000000000000000000000000000000004444444400000000000000000000000088888888000000000000000000000000000000000000000000000000ffffffff
__label__
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc6666
cc77c777c7c7ccccc777c7c7c7c7ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc66666
c7ccc7c7c7c7cc7cc7ccc7c7ccc7ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc6666666
c7ccc777c7c7ccccc777c777cc7cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc666666666
c7ccc7ccc7c7cc7cccc7ccc7c7cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc6666666666
cc77c7cccc77ccccc777ccc7c7c7cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc666666666666
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc6666666666666
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc666666666666666
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc66666666666666666
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc666666666666666666
555ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc66666666666666666666
55555555cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc6666666666666666666666
5555555555555cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc66666666666666666666666
55555555555555555cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc6666666666666666666666666
5555555555555555555555ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc666666666666666666666666666
555555555555555555555555555ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc6666666666666666666666666666
55555555555555555555555555555555cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc666666666666666666666666666666
555555555555555555555555555555555555ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc6666666666666666666666666666666
55555555555555555555555555555555555555555cccccccccccccccccccccccccccccccccccccccccccccccccccccc666666666666666666666666666666666
5555555555555555555555555555555555555555555555ccccccccccccccccccccccccccccccccccccccccccccccc6666666667d666666666666666666666666
555555555555555555555555555555555555555555555555555ccccccccccccccccccccccccccccccccccccccccc66666666777ddddd66666666666666666666
5555555555555555555555555555555555555555555555555555555ccccccccccccccccccccccccccccccccccc6666666677777dddddddd66666666666666666
555555555555555555555555555555555555555555555555555555555555cccccccccccccccccccccccccccc666666666777777ddddddddddd66666666666666
55555555555555555555555555555555555555555555555555555555555555555cccccccccccccccccccccc6666666677777777dddddddddddddd66666666666
5555555555555555555555555555555555555555555555555555555555555555555555ccccccccccccccc666666667777777777dddddddddddddddddd6666666
55555555555555555555555555555555555555555555555555555555555555555555555555ccccccccc66666666777777777777ddddddddddddddddddddd6666
5555555555555555555555555555555555555555555555555555555555555555555555555555555ccc666666667777777777777dddddddddddddddddddddddd6
5555555555555555555555555555555555555555555555555555555555555555555555555555555556666666777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555555555555555555555556666677777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555555555555555555555556667777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555555555555555555555556677777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555555555555555555555557777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555555555555555555555777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555555555555555555577777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555555555555555555777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555555555555555577777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555555555555557777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555555555555777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555555555557777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555555555777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555557777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555557777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555555555555555555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555555dddddddddd55555555555577777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555777dddddddddddddddddddddd77777777777777777777777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555777dddddddddddddddddddddd77777777777777777777777777777777777777777777ddddddddddddddddddddddddd
555555555555555555555555555555555577777ddddddddddddddddddddddddd777777777777777777777777777777777777777ddddddddddddddddddddddddd
555555555555555555555555555555555577777ddddddddddddddddddddddddd777777777777777777777777777777777777777ddddddddddddddddddddddddd
555555555555555555555555555555555577777ddddddddddddddddddddddddd777777777777777777777777777777777777777ddddddddddddddddddddddddd
555555555555555555555555555555555577777777ddddddddddddddddddddddddddd7777777777777777777777777777777777ddddddddddddddddddddddddd
555555555555555555555555555555555577777777ddddddddddddddddddddddddddd7777777777777777777777777777777777ddddddddddddddddddddddddd
555555555555555555555555555555555577777777ddddddddddddddddddddddddddd7777777777777777777777777777777777ddddddddddddddddddddddddd
55555555555555555555555555555555557777777777aaaaaaaaaaaaaaaaaaaaddddddddddddd77777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555777777777777ddddddddddddddddddddddddddddddd77777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555777777777777ddddddddddddddddddddddddddddddd77777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555777777777777ddddddddddddddddddddddddddddddd77777777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555777777777777ddddddddddddddddddeeeeeeeeeeeeeeeee7777777777777777777777ddddddddddddddddddddddddd
5555555555555555555555555555555555777777777777eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedddd7777777777777777ddddddddddddddddddddddddd
5555555555555555555333333333333333377777777777777eeeeeeeeeeeeeddddddddddddddddddddddddd7777777777777777ddddddddddddddddddddddddd
333333333333333333333333333333333333377777777777777dddddddddddddddddddddddddddddddddddd7777777777777777ddddddddddddddddddddddddd
333333333333333333333333333333333333337777777777777dddddddddddddddddddddddddddddddddddd7777777777777777ddddddddddddddddddddddddd
333333333333333333333333333333333333333777777777777dddddddddddddddddddddddddddddddddddd7777777777777777ddddddddddddddddddddddddd
333333333333333333333333333333333333333337777777777ddddddddddddddddddddddddddbbbbbbbbbbbbbb777777777777ddddddddddddddddddddddddd
333333333333333333333333333333333333333333777777777dddddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb777777ddddddddddddddddddddddddd
333333333333333333333333333333333333333333337777777bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb7ddddddddddddddddddddddddd
33333333333333333333333333333333333333333333377777777bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddd
3333333333333333333333333333333333333333333333777777777bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddddddddddddddddddddddddddddddd
333333333333333333333333333333333333333333333333777777777bbbbbbbbbbbbbbbbbbbdddddddddddddddddddddddddddddddddddddddddddddd333333
33333333333333333333333333333333333333333333333337777777777bbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddd3333333333333
333333333333333333333333333333333333333333333333337777777777dddddddddddddddddddddddddddddddddddddddddddddddd33333333333333333333
333333333333333333333333333333333333333333333333333377777777ddddddddddddddddddddddddddddddddddddddddd333333333333333333333333333
333333333333333333333333333333333333333333333333333337777777dddddddddddddddddddddddddddddddddd3333333333333333333333333333333333
333333333333333333333333333333333333333333333333333333377777dddddddddddddddddddddddddd333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333333337777ddddddddddddddddddd3333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333333333777dddddddddddd33333333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333333333337ddddd333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
__map__
1818181818181818181818181818181818181818181818181818181818181818000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1806060708090a0b000000000000000001000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1806060708090a0b000100000000000101010000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1806060c0c0c0c0c000000000404000001000005000000000c030303030c0018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1806060c0c0c0c0c000000000404000000000505050000000303030303030018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1806060504030201000000000000000000000005000000000303030303030018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1806060504030201000000000000000000000000000000000303030303030018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1800000000000000000000000000000000000000000000000303030303030018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1800000000000000000000000000000000000000000000000c030303030c0018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1800000000000000000000000000000000000000000000000102030302010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1800000001000001000000000000000000000000000000000102030302010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1800000000000000000000000000010000000000000000000102030302010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1800000001000001000000000001000100000000000000000102030302010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1800000000000000000000000000010000000000000000000102030302010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1800140d0d01010d0d1400000000000000000000000000000102030302010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18000d0d0d02020d0d0d00000000000000000000000001000102040402010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18000d0d0d03030d0d0d00000000000000000000000000000102050502010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18000d0d0d04040d0d0d00000000000000000000000000000102060602010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18000d0d0d05050d0d0d00000000000000000000000000000102070702010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18000d0606060606060d00000000000000000000000000000102080802010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18000d0606060606060d00000000000000000000000000000102090902010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18000d0606060606060d000000000000000000000000000001020a0a02010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18000d0606060606060d000000000000000000000000000001020b0b02010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18001406060606060614000000000000000000000000000001020c0c02010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18000d07070d0d0d0d0d0000000000000000000d0d0d0d0d0d0d0d0d02010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18000d08080d0d0d0d0d0000000000000000000d0d0d0d0d0d0d0d0d02010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18000d09090a0b0c0d0d0000000000000000000d0d0d0d0d0d0d0d0d02010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18000d09090a0b0c0d0d0000000000000000000d0d0d0d0d0d0d0d0d02010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18000d0d0d0d0d0d0d0d0000000000000000000d0d0d0d0d0d0d0d0d02010018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1800000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1800000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1818181818181818181818181818181818181818181818181818181818181818000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__music__
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144
00 41414144

484
demos/collide.p8 Normal file
View File

@@ -0,0 +1,484 @@
pico-8 cartridge // http://www.pico-8.com
version 30
__lua__
-- wall and actor collisions
-- by zep
actor = {} -- all actors
-- make an actor
-- and add to global collection
-- x,y means center of the actor
-- in map tiles
function make_actor(k, x, y)
a={
k = k,
x = x,
y = y,
dx = 0,
dy = 0,
frame = 0,
t = 0,
friction = 0.15,
bounce = 0.3,
frames = 2,
-- half-width and half-height
-- slightly less than 0.5 so
-- that will fit through 1-wide
-- holes.
w = 0.4,
h = 0.4
}
add(actor,a)
return a
end
function _init()
-- create some actors
-- make player
pl = make_actor(21,2,2)
pl.frames=4
-- bouncy ball
local ball = make_actor(33,8.5,11)
ball.dx=0.05
ball.dy=-0.1
ball.friction=0.02
ball.bounce=1
-- red ball: bounce forever
-- (because no friction and
-- max bounce)
local ball = make_actor(49,7,8)
ball.dx=-0.1
ball.dy=0.15
ball.friction=0
ball.bounce=1
-- treasure
for i=0,16 do
a = make_actor(35,8+cos(i/16)*3,
10+sin(i/16)*3)
a.w=0.25 a.h=0.25
end
-- blue peopleoids
a = make_actor(5,7,5)
a.frames=4
a.dx=1/8
a.friction=0.1
for i=1,6 do
a = make_actor(5,20+i,24)
a.frames=4
a.dx=1/8
a.friction=0.1
end
end
-- for any given point on the
-- map, true if there is wall
-- there.
function solid(x, y)
-- grab the cel value
val=mget(x, y)
-- check if flag 1 is set (the
-- orange toggle button in the
-- sprite editor)
return fget(val, 1)
end
-- solid_area
-- check if a rectangle overlaps
-- with any walls
--(this version only works for
--actors less than one tile big)
function solid_area(x,y,w,h)
return
solid(x-w,y-h) or
solid(x+w,y-h) or
solid(x-w,y+h) or
solid(x+w,y+h)
end
-- true if [a] will hit another
-- actor after moving dx,dy
-- also handle bounce response
-- (cheat version: both actors
-- end up with the velocity of
-- the fastest moving actor)
function solid_actor(a, dx, dy)
for a2 in all(actor) do
if a2 != a then
local x=(a.x+dx) - a2.x
local y=(a.y+dy) - a2.y
if ((abs(x) < (a.w+a2.w)) and
(abs(y) < (a.h+a2.h)))
then
-- moving together?
-- this allows actors to
-- overlap initially
-- without sticking together
-- process each axis separately
-- along x
if (dx != 0 and abs(x) <
abs(a.x-a2.x))
then
v=abs(a.dx)>abs(a2.dx) and
a.dx or a2.dx
a.dx,a2.dx = v,v
local ca=
collide_event(a,a2) or
collide_event(a2,a)
return not ca
end
-- along y
if (dy != 0 and abs(y) <
abs(a.y-a2.y)) then
v=abs(a.dy)>abs(a2.dy) and
a.dy or a2.dy
a.dy,a2.dy = v,v
local ca=
collide_event(a,a2) or
collide_event(a2,a)
return not ca
end
end
end
end
return false
end
-- checks both walls and actors
function solid_a(a, dx, dy)
if solid_area(a.x+dx,a.y+dy,
a.w,a.h) then
return true end
return solid_actor(a, dx, dy)
end
-- return true when something
-- was collected / destroyed,
-- indicating that the two
-- actors shouldn't bounce off
-- each other
function collide_event(a1,a2)
-- player collects treasure
if (a1==pl and a2.k==35) then
del(actor,a2)
sfx(3)
return true
end
sfx(2) -- generic bump sound
return false
end
function move_actor(a)
-- only move actor along x
-- if the resulting position
-- will not overlap with a wall
if not solid_a(a, a.dx, 0) then
a.x += a.dx
else
a.dx *= -a.bounce
end
-- ditto for y
if not solid_a(a, 0, a.dy) then
a.y += a.dy
else
a.dy *= -a.bounce
end
-- apply friction
-- (comment for no inertia)
a.dx *= (1-a.friction)
a.dy *= (1-a.friction)
-- advance one frame every
-- time actor moves 1/4 of
-- a tile
a.frame += abs(a.dx) * 4
a.frame += abs(a.dy) * 4
a.frame %= a.frames
a.t += 1
end
function control_player(pl)
accel = 0.05
if (btn(0)) pl.dx -= accel
if (btn(1)) pl.dx += accel
if (btn(2)) pl.dy -= accel
if (btn(3)) pl.dy += accel
end
function _update()
control_player(pl)
foreach(actor, move_actor)
end
function draw_actor(a)
local sx = (a.x * 8) - 4
local sy = (a.y * 8) - 4
spr(a.k + a.frame, sx, sy)
end
function _draw()
cls()
room_x=flr(pl.x/16)
room_y=flr(pl.y/16)
camera(room_x*128,room_y*128)
map()
foreach(actor,draw_actor)
end
__gfx__
000000003bbbbbb7dccccc770cccccc00000000000ccc70000ccc70000ccc70000ccc70000000000000000000000000000000000000000000000000000000000
000000003000000bd0000077d000007c101110100cccccc00cccccc00cccccc00cccccc000000000000000000000000000000000000000000000000000000000
000000003000070bd000000cd000770c000000000cffffc00cffffc00cffffc00cffffc000000000000000000000000000000000000000000000000000000000
000000003000000bd000000cd000770c000000000c5ff5c00c5ff5c00c5ff5c00c5ff5c000000000000000000000000000000000000000000000000000000000
000000003000000bd000000cd000000c000000000cffffc00cffffcc0cffffc0ccffffc000000000000000000000000000000000000000000000000000000000
000000003000000bd000000cd000000c00101101ccccccccccccccc0cccccccc0ccccccc00000000000000000000000000000000000000000000000000000000
000000003000000bd000000cd000000c000000000cccccc00cccccc00cccccc00cccccc000000000000000000000000000000000000000000000000000000000
00000000111111115111111101111110000000000c0000c0c00000c00c0000c00c00000c00000000000000000000000000000000000000000000000000000000
aaaaaaaa00ffff0000ffff0000000000000000000770077077000770077007700770007700000000000000000000000000000000000000000000000000000000
a000000a00dffd0000dffd0000000000000000000e7007e0e77007e00e7007e00e70077e00000000000000000000000000000000000000000000000000000000
a000000a00ffff0000ffff0000000000000000000e7007e00e7007e00e7007e00e7007e000000000000000000000000000000000000000000000000000000000
a000000a0882288ff882288000000000000000000777777007777770077777700777777000000000000000000000000000000000000000000000000000000000
a000000af08228000082280f00000000000000000717717007177170071771700717717000000000000000000000000000000000000000000000000000000000
a000000a008558000085580000000000000000000077770000777700007777000077770000000000000000000000000000000000000000000000000000000000
a000000a005005000500005000000000000000000077770000777770007777000777770000000000000000000000000000000000000000000000000000000000
aaaaaaaa066006606600006600000000000000000700070000700000007000700000070000000000000000000000000000000000000000000000000000000000
0000000000aaaa000077770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000a0000a00700007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000a000770a70007707000aa000000aa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000a000770a7000770700aa7a0000aaaa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000a000000a7000000700aaaa0000a7aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000a000000a70000007000aa000000aa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000a0000a00700007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000aaaa000077770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000008888000088880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000088888800888888000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000888887788888877800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000888887788888877800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000008e8888888e88888800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000008eee88888eee888800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000008ee888008ee888000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000008888000088880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__label__
dccccc77dccccc77dccccc77dccccc77dccccc77dccccc77dccccc77dccccc77dccccc77dccccc77dccccc77dccccc77dccccc77dccccc77dccccc7700000000
d0000077d0000077d0000077d0000077d0000077d0000077d0000077d0000077d0000077d0000077d0000077d0000077d0000077d0000077d000007700000000
d000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000c00000000
d000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000c00000000
d000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000c00000000
d000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000c00000000
d000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000c00000000
51111111511111115111111151111111511111115111111151111111511111115111111151111111511111115111111151111111511111115111111100000000
dccccc7700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dccccc7700000000
d000007700000000000000000000000000000000000000000000000000000000000000001011101000000000000000000000000000000000d000007700000000
d000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000c00000000
d000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000c00000000
d000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000c00000000
d000000c00000000000000000000000000000000000000000000000000000000000000000010110100000000000000000000000000000000d000000c00000000
d000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000c00000000
51111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111111100000000
dccccc770000000000000000000000000000000000000000000000000cccccc0000000000000000000000000000000000000000000000000dccccc7700000000
d0000077000000000000000000000000000000000000000000000000d000007c000000000000000000000000000000000000000010111010d000007700000000
d000000c000000000000000000000000000000000000000000000000d000770c000000000000000000000000000000000000000000000000d000000c00000000
d000000c000000000000000000000000000000000000000000000000d000770c000000000000000000000000000000000000000000000000d000000c00000000
d000000c000000000000000000000000000000000000000000000000d000000c000000000000000000000000000000000000000000000000d000000c00000000
d000000c000000000000000000000000000000000000000000000000d000000c000000000000000000000000000000000000000000101101d000000c00000000
d000000c000000000000000000000000000000000000000000000000d000000c000000000000000000000000000000000000000000000000d000000c00000000
51111111000000000000000000000000000000000000000000000000011111100000000000000000000000000ffff00000000000000000005111111100000000
0cccccc0dccccc77dccccc77dccccc77000000000000000000000000000000000000000000000000000000000dffd00000000000000000000cccccc000000000
d000007cd0000077d0000077d0000077000000000000000000000000101110100000000000000000000000000ffff0000000000000000000d000007c00000000
d000770cd000000cd000000cd000000c00000000000000000000000000000000000000000000000000000000882288f00000000000000000d000770c00000000
d000770cd000000cd000000cd000000c0000000000000000000000000000000000000000000000000000000f082280000000000000000000d000770c00000000
d000000cd000000cd000000cd000000c00000000000000000000000000000000000000000000000000000000085580000000000000000000d000000c00000000
d000000cd000000cd000000cd000000c00000000000000000000000000101101000000000000000000000000050050000000000000000000d000000c00000000
d000000cd000000cd000000cd000000c00000000000000000000000000000000000000000000000000000000660066000000000000000000d000000c00000000
01111110511111115111111151111111000000000000000000000000000000000000000000000000000000000000000000000000000000000111111000000000
dccccc7700000000000000000000000000000000000000000000000000000000000000003bbbbbb700000000000000000000000000000000dccccc7700000000
d000007700000000101110100000000000000000000000000000000000000000000000003000000b00000000000000000000000000000000d000007700000000
d000000c00000000000000000000000000000000000000000000000000000000000000003000070b00000000000000000000000000000000d000000c00000000
d000000c00000000000000000000000000000000000000000000000000000000000000003000000b00000000000000000000000000000000d000000c00000000
d000000c000000000000000000000000000000000000000000000000000000000ccc70003000000b00000000000000000000000000000000d000000c00000000
d000000c00000000001011010000000000000000000000000000000000000000cccccc003000000b00000000000000000000000000000000d000000c00000000
d000000c00000000000000000000000000000000000000000000000000000000cffffc003000000b00000000000000000000000000000000d000000c00000000
5111111100000000000000000000000000000000000000000000000000000000c5ff5c0011111111000000000000000000000000000000005111111100000000
dccccc7700000000dccccc770000000000000000008888000000000000000000cffffc000000000000000000000000000cccccc000000000dccccc7700000000
d000007700000000d0000077000000000000000018888880000000000000000cccccccc0000000000000000000000000d000007c00000000d000007700000000
d000000c00000000d000000c0000000000000000288888880000000000000000cccccc00000000000000000000000000d000770c00000000d000000c00000000
d000000c00000000d000000c00000000000000002e8e8e8e0000000000000000c0000c00000000000000000000000000d000770c00000000d000000c00000000
d000000c00000000d000000c00000000000000002e8e8e8e000000000000000000000000000000000000000000000000d000000c00000000d000000c00000000
d000000c00000000d000000c000000000000000022888888000000000000000000000000000000000000000000000000d000000c00000000d000000c00000000
d000000c00000000d000000c000000000000000002288880000000000000000000000000000000000000000000000000d000000c00000000d000000c00000000
51111111000000005111111100000000000000000022220000000000000000000000000000000000000000000000000001111110000000005111111100000000
dccccc770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dccccc7700000000dccccc7700000000
d00000770000000000000000000000000000000000000000101110100000000000000000000000000000000000000000d000007700000000d000007700000000
d000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000c00000000d000000c00000000
d000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000c00000000d000000c00000000
d000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000c00000000d000000c00000000
d000000c0000000000000000000000000000000000000000001011010000000000000000000000000000000000000000d000000c00000000d000000c00000000
d000000c0000000000000000000000000000000000000000000000000000000000aaaa00000000000000000000000000d000000c00000000d000000c00000000
51111111000000000000000000000000000000000000000000000000000000000a0000a000000000000000000000000051111111000000005111111100000000
dccccc7700000000000000000000000000000000000000000000000000000000a000770a000000003bbbbbb700000000dccccc77000000000cccccc000000000
d000007700000000000000000000000000000000000000000000000000000000a000770a101110103000000b00000000d000007700000000d000007c00000000
d000000c00000000000000000000000000000000000000000000000000000000a000000a000000003000070b00000000d000000c00000000d000770c00000000
d000000c00000000000000000000000000000000000000000000000000000000a000000a000000003000000b00000000d000000c00000000d000770c00000000
d000000c000000000000000000000000000000000000000000000000000000000a0000a0000000003000000b00000000d000000c00000000d000000c00000000
d000000c0000000000000000000000000000000000000000000000000000000000aaaa00001011013000000b00000000d000000c00000000d000000c00000000
d000000c0000000000000000000000000000000000000000000000000000000000000000000000003000000b00000000d000000c00000000d000000c00000000
51111111000000000000000000000000000000000000000000000000000000000000000000000000111111110000000051111111000000000111111000000000
0cccccc00000000000000000dccccc77dccccc77dccccc770000000000000000000000003bbbbbb73bbbbbb7000000000000000000000000dccccc7700000000
d000007c1011101000000000d0000077d0000077d00000770000000000000000000000003000000b3000000b000000000000000000000000d000007700000000
d000770c0000000000000000d000000cd000000cd000000c0000000000000000000000003000070b3000070b000000000000000000000000d000000c00000000
d000770c0000000000000000d000000cd000000cd000000c0000000000000000000000003000000b3000000b000000000000000000000000d000000c00000000
d000000c0000000000000000d000000cd000000cd000000c0000000000000000000000003000000b3000000b000000000000000000000000d000000c00000000
d000000c0010110100000000d000000cd000000cd000000c0000000000000000000000003000000b3000000b000000000000000000000000d000000c00000000
d000000c0000000000000000d000000cd000000cd000000c0000000000000000000000003000000b3000000b000000000000000000000000d000000c00000000
01111110000000000000000051111111511111115111111100000000000000000000000011111111111111110000000000000000000000005111111100000000
dccccc770000000000000000dccccc77dccccc77dccccc77000000000000000000000000000000000000000000000000dccccc7700000000dccccc7700000000
d00000770000000000000000d0000077d0000077d0000077000000000000000000000000101110100000000000000000d000007700000000d000007700000000
d000000c0000000000000000d000000cd000000cd000000c000000000000000000000000000000000000000000000000d000000c00000000d000000c00000000
d000000c0000000000000000d000000cd000000cd000000c000000000000000000000000000000000000000000000000d000000c00000000d000000c00000000
d000000c0000000000000000d000000cd000000cd000000c000000000000000000000000000000000000000000000000d000000c00000000d000000c00000000
d000000c0000000000000000d000000cd000000cd000000c000000000000000000000000001011010000000000000000d000000c00000000d000000c00000000
d000000c0000000000000000d000000cd000000cd000000c000000000000000000000000000000000000000000000000d000000c00000000d000000c00000000
51111111000000000000000051111111511111115111111100000000000000000000000000000000000000000000000051111111000000005111111100000000
dccccc77000000000000000000000000000000000000000000000000dccccc77dccccc77dccccc77dccccc77dccccc77dccccc7700000000dccccc7700000000
d0000077000000000000000000000000000000000000000000000000d0000077d0000077d0000077d0000077d0000077d000007710111010d000007700000000
d000000c000000000000000000000000000000000000000000000000d000000cd000000cd000000cd000000cd000000cd000000c00000000d000000c00000000
d000000c000000000000000000000000000000000000000000000000d000000cd000000cd000000cd000000cd000000cd000000c00000000d000000c00000000
d000000c000000000000000000000000000000000000000000000000d000000cd000000cd000000cd000000cd000000cd000000c00000000d000000c00000000
d000000c000000000000000000000000000000000000000000000000d000000cd000000cd000000cd000000cd000000cd000000c00101101d000000c00000000
d000000c000000000000000000000000000000000000000000000000d000000cd000000cd000000cd000000cd000000cd000000c00000000d000000c00000000
51111111000000000000000000000000000000000000000000000000511111115111111151111111511111115111111151111111000000005111111100000000
dccccc77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cccccc000000000
d000007700000000000000001011101000000000000000000000000000000000000000000000000000000000000000000000000000000000d000007c00000000
d000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000770c00000000
d000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000770c00000000
d000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000c00000000
d000000c00000000000000000010110100000000000000000000000000000000000000000000000000000000000000000000000000000000d000000c00000000
d000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000c00000000
51111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111000000000
0cccccc0dccccc77dccccc77dccccc77dccccc770cccccc0dccccc77dccccc77dccccc77dccccc77dccccc77dccccc77dccccc770cccccc0dccccc7700000000
d000007cd0000077d0000077d0000077d0000077d000007cd0000077d0000077d0000077d0000077d0000077d0000077d0000077d000007cd000007700000000
d000770cd000000cd000000cd000000cd000000cd000770cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000770cd000000c00000000
d000770cd000000cd000000cd000000cd000000cd000770cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000770cd000000c00000000
d000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000c00000000
d000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000c00000000
d000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000cd000000c00000000
01111110511111115111111151111111511111110111111051111111511111115111111151111111511111115111111151111111011111105111111100000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
70700000770077000000707077707770700000000000000000000000000000007070000077700000707070707770777000000000000000000000000000000000
70700000070007000000707070007070700000000000000000000000000000007070000000700000707070707070707000000000000000000000000000000000
07000000070007000000777077707070777000000000000000000000000000007770000007700000777077707770777000000000000000000000000000000000
70700000070007000000007000707070707000000000000000000000000000000070000000700000007000700070707000000000000000000000000000000000
70700000777077700700007077707770777000000000000000000000000000007770000077700700007000700070777000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__gff__
0002020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
0202020202020202020202020202020202020202020202020202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0200000000000000000400000000000202000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0200000202000003000000000004000202000000000000000004040000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0300000202000004000000000000000202000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0200000000000000000000000000000202000000040000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0200000000040000000000000000000202000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0200000000000400000000000000000202000000000002020202000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0200000000000000000400000000000000000000000002020202000000040002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0304000000000000000000000000000000000000000002020202000400000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0200000000000000000400000000000202000000000002020202000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0200000000000000000000000000000202000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0200000400000000000000000000000202000404040000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0300020200000000000000000202000202000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0200020200000000040000000202000202000000000004040000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0200000000000000000000000000000202000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020202020302020202030202020202020202020200000000020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002020202020200000000020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000000000000000000000404000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000000000000040400000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000000000000000000000004000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000004040000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000000040000000000000004000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000000000000000000040000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000002020202020202020202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000100000c55012540075100050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500
000100003073020750217201171000700007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700
000400002a3602e350313300030000300003000030000300003000030000300003000030000300003000030000300003000030000300003000030000300003000030000300003000030000300003000030000300

311
demos/dots3d.p8 Normal file
View File

@@ -0,0 +1,311 @@
pico-8 cartridge // http://www.pico-8.com
version 19
__lua__
-- 3d dot party
-- by zep
function _init()
-- make some points
pt={}
for y=-1,1,1/3 do
for x=-1,1,1/3 do
for z=-1,1,1/3 do
p={}
p.x=x p.y=y p.z=z
p.col=8 + (x*2+y*3)%8
add(pt,p)
end
end
end
end
-- rotate point x,y by a
-- (rotates around 0,0)
function rot(x,y,a)
local x0=x
x = cos(a)*x - sin(a)*y
y = cos(a)*y + sin(a)*x0 -- *x is wrong but kinda nice too
return x,y
end
function _draw()
cls()
for p in all(pt) do
--transform:
--world space -> camera space
p.cx,p.cz=rot(p.x,p.z,t()/8)
p.cy,p.cz=rot(p.y,p.cz,t()/7)
p.cz += 2 + cos(t()/6)
end
-- sort furthest -> closest
-- (so that things in distance
-- aren't drawn over things
-- in the foreground)
for pass=1,4 do
for i=1,#pt-1 do
if pt[i].cz < pt[i+1].cz then
--swap
pt[i],pt[i+1]=pt[i+1],pt[i]
end
end
for i=#pt-1,1,-1 do
if pt[i].cz < pt[i+1].cz then
--swap
pt[i],pt[i+1]=pt[i+1],pt[i]
end
end
end
rad1 = 5+cos(t()/4)*4
for p in all(pt) do
--transform:
--camera space -> screen space
sx = 64 + p.cx*64/p.cz
sy = 64 + p.cy*64/p.cz
rad= rad1/p.cz
-- draw
if (p.cz > .1) then
circfill(sx,sy,rad,p.col)
circfill(sx+rad/3,sy-rad/3,rad/3,7)
end
end
--print(stat(1),2,2,7)
end
__gfx__
70000000777077707770077077707070070077700000777070707000777077707770000077707070777077707770777007000000077007707770077077707770
07000000777070007770700070707070700070700000707070707000707070707070000070707070007070707070707000700000700070000700707070707000
00700000707077007070700077707770700070700000707007007770707070707070000070700700777070707070707000700000700077700700707077007700
07000000707070007070700070000070700070700700707070707070707070707070070070707070700070707070707000700000700000700700707070707000
70000000707077707070077070007770070077707000777070707770777077707770700077707070777077707770777007000000077077000700770070707770
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000070007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000700000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000700000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000700000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000070007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000eee00000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000eee7e0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000eee777e000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000eeee7ee000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000eeefffe000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000efff7f000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000eee0000fff777f00000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000eee7e000ffff7ff00000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000eeeee000fffffff00000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000eeeee0000ff887000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000fff00000088777e0000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000ddd0000fff7f00008888788e000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000ddd7d00fff777f0008888888e000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000ddddd00ffff7ff0008888888f000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000ddddd00fffffffee0088999f7f00000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000ddd0000f888fee7e099999797f0000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000ccc000eee000088878eeee09999777ff0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000ccc7c0eee7e008887778eee999999799f0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000ccccc0eeeee0d8888788ee09999999997e000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000ccccc0eeeeedd8888888ff09999999998e000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000ccc00dddc00fffe0ddd88888ff7f09999999778000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000ccc7cddd7d0fff7f0dddd999fffffe9999aaa788000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000cccccdddddfff777f0dd99979ffffe7eaaaaaaa8f00000000000000000000000000000000000000000000
000000000000000000000000000000000000000bbb0cccccdddddffff7ff0e9997779888eeeaaaaa7aff00000000000000000000000000000000000000000000
00000000000000000000000000000000000000bbbbbdddc00ddd0fffffffee99997998878eaaaaa777afe0000000000000000000000000000000000000000000
00000000000000000000000000000000000000bb7bdd7dd0eeec00fffff0ee999999987778aaaaaa7aa9e0000000000000000000000000000000000000000000
00000000000000000000000000000000000000bbbbdddddeee7ec0088800eee99999888788aaaaaaaaa790000000000000000000000000000000000000000000
0000000000000000000000000000000000bbb00bbbddddeee777e088878cceee9998888888faaaaaaa7990000000000000000000000000000000000000000000
000000000000000000000000000000000bbb7ccc000dddeeee7ee8887778cfffaaad88888ffaaaaaaa999f000000000000000000000000000000000000000000
000000000000000000000000000000000bbbccc7c00bbbeeeeeee8888788ffaaaaa7a8999ffeeaaa99998ff00000000000000000000000000000000000000000
000000000000000000000000000000000bbbccccceeebb7eeeee08888888ffaaaa77799979eee00099988ff00000000000000000000000000000000000000000
00000000000000000000000000000000bbbbcccceee7ebfffeedcc88888cfaaaaaa7aa977798ffebbbbbaff00000000000000000000000000000000000000000
0000000000000000000000000000000bbb7b0ccceeeeefff7fddcce8880ddaaaaaaaaa99799787bbbbbbbaa00000000000000000000000000000000000000000
0000000000000000000000000000000bbbbdddbbeeeefff777fdcee7eedd7aaaaaaaaa9999988bbbbb7bbbaf0000000000000000000000000000000000000000
0000000000000000000000000000000bbbddd7dbbeeeffff7ffb0e999edd88aaaaaaa9999988bbbbb777bbbaf000000000000000000000000000000000000000
00000000000000000000000000000000bbdddddfffccfffffffb099979d888aaaaaaae999888bbbbbb7bbbbaf000000000000000000000000000000000000000
000000000000000000000000000000ccc0ddddfff7fccfffffeb999777988887aaaffeeeed99bbbbbbbbbbbaf000000000000000000000000000000000000000
00000000000000000000000000000ccccc0ddfff777fccfffee099997998888888fffeaaa999bbbbbbbbbbbfff00000000000000000000000000000000000000
00000000000000000000000000000cc7cc000ffff7ff0beeeeec9999999e88888bbbcaaaa797bbbbbbbbbbb88ff0000000000000000000000000000000000000
00000000000000000000000000000cccceee0fffffff8887eeccf99999eee88bbbb7bbaa77797bbbbbbbbb9998f0000000000000000000000000000000000000
000000000000000000000000000000cceee7e0fffff888777cccff999eeeeedbbb777baaa7a999bbbbbbbaaa79f0000000000000000000000000000000000000
00000000000000000000000000000000eeeeeccfff8888878ccefffffdee99bbbbb7bbbaaaa9990bbbbbbbb777f0000000000000000000000000000000000000
000000000000000000000000000ddd00eeeee8880d8888888f0eefffddd999bbbbbbbbbaaa99999987bbbbbbba8f000000000000000000000000000000000000
00000000000000000000000000ddddd00eee8887808888888f0eaaae0d9999bbbbbbbbbaaffaaa9798bbbbb7ba88000000000000000000000000000000000000
00000000000000000000000000ddd7d00008887778e88888ffaaaaa7af99999bbbbbbb0fffaaa7a99bccccc77b98000000000000000000000000000000000000
00000000000000000000000000ddddd000088887887e888ffdaaaa777f99999bbbbbbb88faaa777a9cccc777bba9000000000000000000000000000000000000
000000000000000000000000000dddfff008888888eeccdddaaaaaa7aaf99999ebbb888bbbaaa7aacccc77777b7a800000000000000000000000000000000000
00000000000000000000000000000fff7fdd88888e999c0ddaaaaaaaaaff999ffe997bbbbb7baaaccccc77777c77a80000000000000000000000000000000000
0000000000000000000000000000fff777fd78889999999ecaaaaaaaaaeeeffff9977bbbb777aacccccc77777ccaa80000000000000000000000000000000000
0000000000000000000000000000ffff7ffddd0099999798ecaaaaaaa0beefff9999bbbbbb7bbaccccccc777cccbb90000000000000000000000000000000000
000000000000000000000000eee0fffffffddd09999977798caaaaaaaf88aaafcccccbbbbbbbbacccccccccccccbb90000000000000000000000000000000000
00000000000000000000000eee7e0fffff9990f9999997998c00aaaff88aaa7cccccccbbbbbbbaccccccccccccc7bb0000000000000000000000000000000000
00000000000000000000000eeeee00fff99979f99999999980eee00ff8aaa7cccccc7ccbbbbbbbcccccccccccccbbb9000000000000000000000000000000000
00000000000000000000000eeeee00009997779f999999980ee9990ff8aaacccccc777ccbbbbbb7cccccccccccccbb9900000000000000000000000000000000
000000000000000000000000eee000009999799f9999999d0ebbbbb0ffaaaccccccc7cccbbbbb777cccccccccccccb9900000000000000000000000000000000
0000000000000000000000000008870e9999999ffd999ff7dbbbbbbbee0aaccccccccccc99bbbb7bbcccccccccc7ccb900000000000000000000000000000000
0000000000000000000000000088777ee99999000009997fbbbbbbbbb88faccccccccccc90bbbbbbbacccccccc777ccb00000000000000000000000000000000
00000000000000000000fff008888788ee99900eee99979bbbbbbb7bbb88fcccccccccccf99bbbbbbbbaccccccc7cccb00000000000000000000000000000000
0000000000000000000fff7f08888888eee000ee7999777bbbbbb777bb9900cccccccccfccc9bbbbbb7bcccccccccccba0000000000000000000000000000000
000000000000000000fff777f88888880000888eaaa9979bbbbbbb7bbb97988cccccccccccc7c9bbb777ccccccccccc7ba000000000000000000000000000000
000000000000000000ffff7ff0888880000888aaaa7aa99bbbbbbbbbbb777988cccccacccc7779bbbb7bccccccccccc77b000000000000000000000000000000
000000000000000000fffffff0088800008887aaa777a99bbbbbbbbbbb97bbb800aaacccccc7ccbbbbbbbccccccccc7cbb000000000000000000000000000000
0000000000000000000fffff00000faaa0888aaaaa7aaaeebbbbbbbbb9bbbb7bb8888ccccccccc9bbbbbb7ccccccc777bb000000000000000000000000000000
00000000000000000000fff00000aaaaa7a88aaaaaaaaaee9bbbbbbb99bbb777b9780ccccccccccccbbbbbbccccccc7ccb000000000000000000000000000000
0000000000000000000000000000aaaa77788aaaaaaaaa8aaabbbbb99bbbbb7bbb8888cccccccccc7ccbbbbbccccccccc7b00000000000000000000000000000
000000000000000000000009990aaaaaa7aa88aaaaaaa88aaaaa7a999bbbbbbbbb8999ccccccccc777cbbbbbcccccccccbb00000000000000000000000000000
000000000000000000000099979aaaaaaaaaffaaaaaaa8aaaaa777a99bbbbbbbbbbbb790cccccccc7ccc0bbb7ccccccc7cbb0000000000000000000000000000
000000000000000088800999777aaaaaaaaaffffaaa788aaaaaa7aa999bbbbbbbbbbb799988ccccccccccbbbbccccccc77cb0000000000000000000000000000
0000000000000008887809999799aaaaaaa0fffaaa7777aaaaaaaaa99abbbbbbbbbb7779990ccccccccc7cbbbb7ccccc7ccb0000000000000000000000000000
0000000000000088877789999999aaaaaaa70faaaaa7affaaaaaaa87aaa7bbb9bbbbb7b9bbb9ccccccc777cbbbbbcccccccc0000000000000000000000000000
000000000000008888788099999880aaa97770aaaaaaaffaaaaaaa8aaa777a99bbbbbbbbbb7bcccccccc7cccbbbb0ccccc77c000000000000000000000000000
00000000000000888888800999887809999799aaaaaaaf0aaaaa088aaaa7aaaaabbbbbbbb777bbccccccccc7cbb000cccc7cc000000000000000000000000000
000000000000000888880000888777899999990aaaaa90aaaa7aaf8aaaaaaaaa77bbb7bbbb7bbb7baccccc777c0000cccccccc00000000000000000000000000
0000000000000000888000008888788999999909aaa779aaaaaaaffaaaaaaaaaa7a999bbbbbbb777b0ccccc7ccc0000ccccc77c0000000000000000000000000
0000000000000000000000008888888099999889999799aaaaaaafaaaaaaaaaaaaaaaa0bbbbbbb7bbb0ccccccc7c0000cccc7cc0000000000000000000000000
00000000000000000000000008888800099988899999990aaaaa0faaaaa0aaaaaaaaa7aabbbbbbbbb7b0ccccccccc000ccccccc0000000000000000000000000
000000000000000000000000008880000088888099999009aaa909aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbccccccc7c000cccccc0000000000000000000000000
0000000000000000000000000000000000088800899980099999999aaa9aaaaaaaaaaaaaa7aabbbbbbb7bb00cccccc0000ccccc0000000000000000000000000
00000000000000000000000000000000000000008888808899909999999aaaaaaa7aaaaaaaaa7a0bbbbbbb000ccccc00000ccc00000000000000000000000000
000000000000000000000000000000000000000008880088888899999999aaaaaaaaa7aaaaaaaa000bbbbb0000ccc00000000000000000000000000000000000
0000000000000000000000000000000000000000000000888888899989999997aaaaaaaa0aaaaa0000bbb0000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000088808888888999999990aaaaa00aaa000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000008888888809999900aaa000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000888000999000000000000000000000000000000000000000000000000000000000000000
__label__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000008880000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000088878000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000088888000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000088888000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000008fff000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000fff7f00000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000fff777f0000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000ffff7ff0000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000009990000fffffff0000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000999790000fffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000009999900000eee008880000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000999990000eeee788878000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000009990000eeee7778888000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000008880000eeeee7e8888000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000088878000eeeeeee8880000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000aaa000888880000eeeee00fff000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000aaa7a008888800999eee00fff7f00000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000aaaaa0008880099979ddd0fffff88800000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000aaaaa000fff00999dddd7ddffff88880000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000aaa000fff7f0999ddd777dfff887880000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000aaa00999000fff777f09ddddd7dddeee88880000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000aaa7a9997900ffff7ff08dddddddddee7e8800000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000aaaaa9999900fffffff88ddddddddde777e000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000aaaaa9999900afffff0888dddddddeee7eeff0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000aaa00999000aafff00888dddddddeeeeeef7f800000000000000000000000000000000000000000000
00000000000000000000000000000000000000000bbb09990000000000aaa00008880ddd99eeeeeffff780000000000000000000000000000000000000000000
0000000000000000000000000000000000000000bbb7999990888aaa00eee000000009ccc90eeefffff880000000000000000000000000000000000000000000
0000000000000000000000000000000000000000bbbb99979888787aaeee7e00aaffccccccc0000fff8880000000000000000000000000000000000000000000
0000000000000000000000000000000000000000bbbb9999988888aaeee777eaafffccccc7c9ddd7088800000000000000000000000000000000000000000000
0000000000000000000000000000000000000ccc0bbb0999088888aaeeee7eeaaffccccc777cdd777eefff880000000000000000000000000000000000000000
000000000000000000000000000000000000ccccaaa0000bbb888aaaeeeeeeeaaffcccccc7ccddd7de7ef7f88000000000000000000000000000000000000000
000000000000000000000000000000000000cc7aaa7a00bbbbb099900eeeee00aafcccccccccdddddeeefff88000000000000000000000000000000000000000
000000000000000000000000000000000000cccaaaaa888bbfff999900eee0009990cccccccddddddeeefff88000000000000000000000000000000000000000
0000000000000000000000000000000000000ccaaaa88878fff7f979008880099999cccccccdddddeeefff880000000000000000000000000000000000000000
00000000000000000000000000000000007bbb00aaa8888fff777f9908ddd80997eeeacccf88ddd9700000fff000000000000000000000000000000000000000
000000000000000000000000000000000cbbbbb00008888ffff7ff90ddddddd99eee7efff7f8878990dddeef7f00000000000000000000000000000000000000
0000000000000000000000000000000000bbb799900c888fffffff70dddd7dd0eee777effff888890ddd7d7eff80000000000000000000000000000000000000
0000000000000000000000000000000000bbb9997900c0aafffff8bdddd777ddeeee7eeffff888cccdd777deff00000000000000000000000000000000000000
0000000000000000000000000000000bbb0bb999990000aaafff878ddddd7dddeeeeeebbbbb00ccc7cdd7ddef000000000000000000000000000000000000000
000000000000000000000000000000bbb7b0099999fff00aaa88888ddddddddd8eeeebbbbbbbccc777cdddd00fff700000000000000000000000000000000000
000000000000000000000000000000bbbaaa00999fff7f00cc888880ddddddd888eebbbbbb7bbccc7ccddd00eee7f00000000000000000000000000000000000
000000000000000000000000000000bbaaaaa0000fffff990c088870ddddddd8888bbbbbb777bbcccccdd90eee7ef00000000000000000000000000000000000
0000000000000000000000000000000baaa7a0000fffff97ee70aaa0ffddd009888bbbbbbb7bbbcccc0097dddeeef00000000000000000000000000000000000
00000000000000000000000000000000aaaa888700fff99ee7770ac7fffff00790dbbbbbbbbbbbccc0087ddd7dee000000000000000000000000000000000000
00000000000000000000000000000aaa0aa88878b00099eeee7ee0c08fff80bbbddbbbbbbbbbbb0afff8cccdddeeee0000000000000000000000000000000000
0000000000000000000000000000aaa7a0088888aaa009eeeeeeef908888800bdddbbbbbbbbbbbafff7ccc7cddeeeee000000000000000000000000000000000
0000000000000000000000000000aaaaa0088888aa7ab0eeeeeeef990ccc000fddddbbbbbbbbbeeeffccc777c0eee7e000000000000000000000000000000000
0000000000000000000000000000aaa99900888aee7ab70eeeeeff9ccccccc8fdddddbbbbbbbeee7efcccc7cc0dddee000000000000000000000000000000000
00000000000000000000000000000a999790aaaee7778880eeeff99cccc7cc8ffdddddbbbbb7eeeebbbccccccddd7d0000000000000000000000000000000000
00000000000000000000000000000099999aaaeeee7ee878ab0099cccc777cc8ffdddb998dddeebbbbb7bccc0ddddde700000000000000000000000000000000
00000000000000000000000000999099999aaaeeeeeee8887a7000ccccc7ccc888a08fffddd7debbbb777cc00cccddee00000000000000000000000000000000
00000000000000000000000009999909990aaaeeeeeee888ab0000ccccccccc0caa8fffddd777bbbbbb7bb00ccc7cddd00000000000000000000000000000000
000000000000000000000000099979000fffaa9eeeee88ddd00888bccccccc000ca0fffdddd7dbbbbbbbbb0ccc777cd7d0000000000000000000000000000000
00000000000000000000000009999900fff7f099eeeaddddddde878ccccccc7feee0fffddddddbbbbbbbbbfcccc7ccddd0000000000000000000000000000000
00000000000000000000000000999000fffff099999adddd7dd7e8800ccc0bfeee7cccffdddddfbbbbbbbeecccccccdddd000000000000000000000000000000
00000000000000000000000000008880fffff909990dddd777dde880088800feeeccc7c0bbbbbdbbbbbbbe7bbbcccccdddd00000000000000000000000000000
000000000000000000000000000888780fff9900000ddddd7ddde800887880feeccc777bbbb777ddbbb0eebbb7bccc7cd7d00000000000000000000000000000
0000000000000000000000000008888809999ddd00fddddddddd0a00eee88bafecccc7bbbb77777ddd00ebbb777bccccddd00000000000000000000000000000
000000000000000000000000888888880099dddd70ffddddddd09a7eddde8a7a0ccccbbbbb77777bdf0ddbbbb7bbccccdd000000000000000000000000000000
00000000000000000000000887888880000dddd777ffdddddddff70ddd7d0b8700ccbbbbbb77777bbfdddbbbbbbbcccccc000000000000000000000000000000
00000000000000000000000888880000000ddddd7d9fffdddfff7fddd777d88eee7cbbbbbbb777bbb0ddddbbbbbbbbccc7c00000000000000000000000000000
0000000000000000000000088888000eee8ddddddd000009dddfffdbbbbbdaee7ee8bbbbbbbbbbbbbfdddddbbbbbb7bcccc00000000000000000000000000000
000000000000000000000000888000eee7e8ddddd000888ddd7dffbbbbbbbaeeddd7bbbbbbbbbbbbb0bbbbbd7bbb777bccccc000000000000000000000000000
00000000000000000000000000000eee777e0ddd000888ddd777dbbbbbbbbbeddd7dbbbbbbbbbbbbbbbbbbbbdbbbb7bbccc7cc00000000000000000000000000
00000000000000000000000000000eeee7ee0000888888dddd7dbbbbbbb7bbbdd777dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccc00000000000000000000000000
0000000000000000000000000fff0eeeeeee00088eee88ddddddbbbbbb777bbddd7ddebbbbbbbbbbbbbbbb7bbbbbbbbbb7bccc00000000000000000000000000
000000000000000000000000fff7f0eeeee00008eee7e88dddddbbbbbbb7bbbddddddedbbbbbbbcbbbbbb777bbdbbbbbbbbcc000000000000000000000000000
00000000000000000000fff0fffff00eee0fff08eeeccc07ddd8bbbbbbbbbbbddddbbbddbbbbb0cbbbbbbb7bbbddd0bbbbbbb000000000000000000000000000
0000000000000000000fff7ffffff00000fffff0eccccc7c8eeebbbbbbbbbbbddbbbbbbbddee070bbbbbbbbbbbbbb00bbbbb7b00000000000000000000000000
0000000000000000000fffff0fff00fff0fff7f00cccc777eee7ebbbbbbbbbdddbbbbb7bdde0dddbbbbbbbbbbbbbbbb00bbbbb00000000000000000000000000
0000000000000000000fffff00000fffffcccff0cccccc7cceeee8bbbbbbb8ddbbbbb777b00dd7ddbbbbbbbbbbbb7bb00bbbbbb0000000000000000000000000
00000000000000000000fff000000fffccccc7cfccccccccceeee00bbbbb00ddbbbbbb7bb00ddddddbbbbbbbbbb777bb00bbbb7b000000000000000000000000
00000000000000000000000000000fffcccc777fccccccccceeef0cccc7e0eedbbbbbbbbbdddbbbdddbbbbbbbbbb7bbbbb0bbbbb000000000000000000000000
000000000000000000000000000dddfcccccc7cc7ccccccccfff7cccc777eee7ebbbbbbbdddbbb7bdddddd0bbbbbbbbbb7bbbbbb000000000000000000000000
00000000000000000000000000ddd7dcccccccccfccccccc7cfffccccc7ceeeecbbbbbbbddbbb777bdbbb7d0bbbbbbbb777bbbb0000000000000000000000000
000000000000000000000eee0ddd777cccccccccdd0cccc777cffccccccceeeccccbbbddddbbbb7bbbbb7bd0bbbbbbbbb7bbb000000000000000000000000000
00000000000000000000eee7edddd7ddcccccccdd7d0cccc7ccff0cccccf0ecccc777e0cccbbbbbbbbb777bbb0bbbbbbbbbb7b00000000000000000000000000
0000000000000000000eee777dddddddcccccccd777dcccccccff0ccccc0ffccccc7ceccc7cbbbbbbbbb7bbb7b0000bbbbb777b0000000000000000000000000
0000000000000000eeeeeee7eeddddd0eecccdddd7dd0cccccdf0ccc777c0fcccccccccc777cbbb0bbbbbbb777b0000bbbbb7bbb000000000000000000000000
000000000000000eee7eeeeeee0ddd0eee7e0ddddddd00cccd7d0cccc7ccffcccccc0cccc7cc0ccc0bbbbbbb7bbbb000bbbbbbb7bb0000000000000000000000
000000000000000eeeeeeeeee0eee7eeeeeeeeddddd7e00ddddd0ccccccc0fccccc0ccccccccccc7ccbbbbbbbbbb7bbb0bbbbbbbb7b000000000000000000000
000000000000000eeeee0eee00eeeeeeeeeeeeedddeeee0ddddd00ccccc00dccccccccccccccccccccc7cbbbbbbbbbbbb0bbbbbbbbb000000000000000000000
0000000000000000eee0000000eeeee0eeeeee7eeeeeeee0ddd7e0dcccd0dddcccdcccccccc7ccccccccccbbbbbbbbb7b0000bbbbbb000000000000000000000
000000000000000000000000000eee00000eeeee0eeee7e0eeeeeeddddd0dddddddcccccccccccccccccccccc0bbbbbbb000000bbb0000000000000000000000
000000000000000000000000000000000000eee000eeeee0eeeeeeedddeeddddddddcccdccccccccccccccccc0000bbb00000000000000000000000000000000
0000000000000000000000000000000000000000000eee000eeeeeeeeeeeeddd0ddddddddcccccccc0000ccc0000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000eee00eee0eeeee00ddd0ddddd00ccc000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000eee00000000ddd000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

435
demos/drippy.p8 Normal file
View File

@@ -0,0 +1,435 @@
pico-8 cartridge // http://www.pico-8.com
version 19
__lua__
-- drippy
-- by zep
rectfill(0,0,127,127,1)
x=64 y=64 c=8
function _draw()
pset(x,y,c)
end
function _update()
if (btn(0)) then x=x-1 end
if (btn(1)) then x=x+1 end
if (btn(2)) then y=y-1 end
if (btn(3)) then y=y+1 end
c=c+1/8
if (c >= 16) then c = 8 end
-- increase this number for
-- extra drippyness
for i=1,800 do
-- choose a random pixel
local x2 = rnd(128)
local y2 = rnd(128)
local col = pget(x2,y2)
--drip down if it is colourful
if (col > 1) then
pset(x2,y2+1,col)
end
end
end
__gfx__
00ffff0000ffff004444444433b333b3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008888
001ff100001ff100444444443333333300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cc08998
00ffff0000ffff00424444442222222200000000000007700000000000000000000000000000000000000000000000000000000000000000000000000cc08998
f999999ff999999f4444444444444444000000000007777770000000000000000000000000000000000000000000000000000000000000000000000000008888
00999900009999004444444444444444000700000077777770000000000000000000000000000000000000000000000000000000000000000000000088880000
00aaaa000aaaaaa04444424444444444007a70000f777777f7770000000000000000000000000000000000000000000000000000000000000000000089980cc0
00a00a0080000008444444444444444400070000fffff77777777000000000000000000000000000000000000000000000000000000000000000000089980cc0
00800800000000004444444444444444000b0000ffffffff77777700000000000000000000000000000000000000000000000000000000000000000088880000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00ffff0000ffff006666666633b333b3004444000044440055555555667666760000000000000000000000000000000000000000000000000000000000000000
001ff100001ff1006666666633333333001441000014410055555555666666660000000000000000000000000000000000000000000000000000000000000000
00ffff0000ffff006566666655555555004444000044440051555555111111110000000000000000000000000000000000000000000000000000000000000000
f888888ff888888f6666666666666666499999944999999455555555555555550000000000000000000000000000000000000000000000000000000000000000
00888800008888006666666666666666009999000099990555555555555555550000000000000000000000000000000000000000000000000000000000000000
00eeee000eeeeee0666665666666666600aaaa000aaaaaa055555155555555550000000000000000000000000000000000000000000000000000000000000000
00e00e0040000004666666666666666600a00a008000000855555555555555550000000000000000000000000000000000000000000000000000000000000000
00400400000000006666666666666666008008000000000055555555555555550000000000000000000000000000000000000000000000000000000000000000
__label__
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111191111111111111111111111111bbbbbbbaa1111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111119111111111111111111111111bbbbbbbbaaa111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111911111111111111111111111cbbbbbbbbaaaa11111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111181111111111111111111111ccbbbbbbbbaaaaa1111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111118111111111111111111111cccbbbbbbbbaaaaaa111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111811111111111111111111ccccbbbbbbbbaaaaaaa11111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111181111111111111111111cccccbbbb1bbbaaaaaaaa1111111111111111111111111111111111111111111111111111111111111111
111111111111111111111118111111111111111111ccccccbbbb1bbbaaaaaaaa9111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111811111111111111111cccccccbbbb1bbbaaaa1aaa9911111111111111111111111111111111111111111111111111111111111111
1111111111111111111111181111111111111111ccccccccbbbb1bbbaaaa1aaa9991111111111111111111111111111111111111111111111111111111111111
111111111111111111111118111111111111111dccccccccbbbb11bbaaaa1aaa9999111111111111111111111111111111111111111111111111111111111111
11111111111111111111111811111111111111ddcccccc1c111b11bb1aaa1a1a9999911111111111111111111111111111111111111111111111111111111111
111111111111111eeeeefff81111111111111dddcccccc11111b11bb1aaa1a1a9999991111111111111111111111111111111111111111111111111111111111
11111111111111eeeee1ffff1111111111111dddcccccc11111b11bb1aaa1a1a9999999111111111111111111111111111111111111111111111111111111111
1111111111111ee11111fff11111111111111dddcccccc11111b11bb1aaa1a1a9999999911111111111111111111111111111111111111111111111111111111
1111111111111ee11111fff11111111111111ddd1ccccc11111b11b11aaa111a9999999981111111111111111111111111111111111111111111111111111111
1111111111111ee111111f111111111111111ddddcc11c11111b11b1111a111a9199999981111111111111111111111111111111111111111111111111111111
1111111111111d11111111111111111111111ddddc111c11111111b1111111119199999981111111111111111111111111111111111111111111111111111111
1111111111111d11111111111111111111111ddddce11c11111111b1111111111199999981111111111111111111111111111111111111111111111111111111
1111111111111d11111111111111111111111ddddcee111111111111111111111199999981111111111111111111111111111111111111111111111111111111
1111111111111dddddccccc11111111111111ddddcee111111111111111111111199199981111111111111111111111111111111111111111111111111111111
1111111111111dddddcccccc1111111111111ddddcee111111111111111111111199899981111111111111111111111111111111111111111111111111111111
111111111111111d1dcccccc1111111111111d1ddcee111111111111111111111198899881111111111111111111111111111111111111111111111111111111
111111111111111111cccccc1111111111111d1ddcee111111111111eeefffffff98889881111111111111111111111111111111111111111111111111111111
111111111111111111c11c1c1111111111111d1ddcee11111111111eeeefffffff98889881111111111111111111111111111111111111111111111111111111
11111111111111111111111c1111111111111dedddee1111111111eeeeefffffff98888881111111111111111111111111111111111111111111111111111111
11111111111111111111111c1111111111111feddeee111111111eeeeeeffffffff8888881111111111111111111111111111111111111111111111111111111
11111111111111111abbbbbb1111111111111fedd1ee11111111eeeeeeeffffffff8888811111111111111111111111111111111111111111111111111111111
1111111111111111aabbbbbb1111111111111feed1ee1111111eeeeeeeeffffffff8888811111111111111111111111111111111111111111111111111111111
111111111111111aaa1bbbbb1111111111111feed11e1111111eee1eeeeffffffff8888811111111111111111111111111111111111111111111111111111111
11111111111111aaa111bbb11111111111111feef11e1111111eee1eeeeff1fffff8818811111111111111111111111111111111111111111111111111111111
1111111111111aaaa111b1b11111111111111feef11e1111111eeedeeeeff11ff1f8818811111111111111111111111111111111111111111111111111111111
111111111111aaaaa11111111111111111111ffef1111111111eeedeeeeff11ff1f8818111111111111111111111111111111111111111111111111111111111
111111111111aaa11111111111111111111111fef1111111111eeedeee11f11ff1f1818111111111111111111111111111111111111111111111111111111111
111111111111aaa11111111111111111111111fef1111111111eeedede11f11f11f1811111111111111111111111111111111111111111111111111111111111
111111111111aaa11111111111111111111111ff81111111111eeeddded1f11f11f1811111111111111111111111111111111111111111111111111111111111
111111111111aa111111111111111111111111ff88111111111eeddddeddf11f11f1811111111111111111111111111111111111111111111111111111111111
11111111111119999998111111111111111111ff88111111111eeddddeddc11f1111811111111111111111111111111111111111111111111111111111111111
11111111111119999998811111111111111111ff88111111111eeddddeddcccfc111811111111111111111111111111111111111111111111111111111111111
11111111111119991998881111111111111111ff88111111111eeddddeddccccc111811111111111111111111111111111111111111111111111111111111111
111111111111119119988881111111111111111f88111111111eeddddeddccccc111111111111111111111111111111111111111111111111111111111111111
111111111111119119918888111111111111111f88111111111eedddddddccccc111111111111111111111111111111111111111111111111111111111111111
1111111111111111199188888111111111111118881111111111edddddddccccc111111111111111111111111111111111111111111111111111111111111111
1111111111111111199188888811111111111118881111111111edddddddccccc111111111111111111111111111111111111111111111111111111111111111
11111111111111111911818888111111111111188811111111111dddddddc1ccc111111111111111111111111111111111111111111111111111111111111111
11111111111111111911811888111111111111188811111111111dd1ddddc1ccc111111111111111111111111111111111111111111111111111111111111111
11111111111111111111811888111111111111188811111111111dd1ddddc1ccc111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111188111111111111198811111111111d11ddddc11cc111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111ff81111111111111999111111111111111dddc11cc111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111ffff1111111111111999111111111111111dd1c11cc111111111111111111111111111111111111111111111111111111111111111
111111111111111111111fffff1111111111111999111111111111111dd1c11cc111111111111111111111111111111111111111111111111111111111111111
11111111111111111111ffffff1111111111111999111111111111111dd1c11cc111111111111111111111111111111111111111111111111111111111111111
1111111111111111111ffffff11111111111111999111111111111111dd1c11ca111111111111111111111111111111111111111111111111111111111111111
111111111111111111efff1f111111111111111999a111111111111111d11111a111111111111111111111111111111111111111111111111111111111111111
11111111111111111eefff1f11111111111111191aa111111111111111d11111a111111111111111111111111111111111111111111111111111111111111111
1111111111111111eee1ff1f1111111111111119aaa111111111111111d11111a111111111111111111111111111111111111111111111111111111111111111
111111111111111eeee1111f111111111111111aaaa111111111111111d11111a111111111111111111111111111111111111111111111111111111111111111
11111111111111eeeee1111111111111111111aaaaa1111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111eee1ee111111111111111111baaaaa1111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111eeee1ee11111111111111111bbaaaaa1111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111eeee11e1111111111111111bbbaa1aa1111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111eee1111111111111111111bbbbaa1aa1111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111eeed11111111111111111bbbbba111a1111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111eedd111111111111111bbbbb1a111a1111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111edddd1111111111111bbbbbb1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111e11ddd11111111111bbbbbb11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111e11ddddddccccccccbbb1bb11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111e11ddddddccccccccbbb1bb11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111ddddddccccccccbbb11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111ddd1ddccccccccbb111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111dd1ddccccccccbb111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111d1111ccc1ccccbb111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111ccc111ccbb111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111cbb111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111cb1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111cb1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
__sfx__
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__music__
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141
00 41414141

221
demos/hello.p8 Normal file
View File

@@ -0,0 +1,221 @@
pico-8 cartridge // http://www.pico-8.com
version 19
__lua__
-- hello world
-- by zep
music(0)
function _draw()
cls()
-- for each color
-- (from pink -> white)
for col = 14,7,-1 do
-- for each letter
for i=1,11 do
-- t() is the same as time()
t1 = t()*30 + i*4 - col*2
-- position
x = 8+i*8 +cos(t1/90)*3
y = 38+(col-7)+cos(t1/50)*5
pal(7,col)
spr(16+i, x, y)
end
end
print("this is pico-8",
37, 70, 14)
print("nice to meet you",
34, 80, 12)
spr(1, 64-4, 90) -- ♥
end
__gfx__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000088088000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000888887800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000888888800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000088888000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000008880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000077007700777777007700000077000000777777000000000770007700777777007777770077000000777700000000000000000000000000000000000
00000000077007700770000007700000077000000770077000000000770007700770077007700770077000000770077000000000000000000000000000000000
00000000077007700770000007700000077000000770077000000000770707700770077007700770077000000770077000000000000000000000000000000000
00000000077777700777700007700000077000000770077000000000777777700770077007777000077000000770077000000000000000000000000000000000
00000000077007700770000007700000077000000770077000000000777077700770077007700770077000000770077000000000000000000000000000000000
00000000077007700777777007777770077777700777777000000000770007700777777007700770077777700777777000000000000000000000000000000000
__label__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000007777770077000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000007777770087788770077000000077770000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000007700770087708770077000000977907700000000000000000000000
00000000000000000000000000000000000000000000000000000000000000077000770087788770087777800a77000000977a97700000000000000000000000
00000000000000000000000000000000000000000000000000000000000000077000770087708770087789770a77000000977b97700000000000000000000000
00000000000000000000000000000000000000000000000000000000000000077070770087798770a877a8770a7777770c977097700000000000000000000000
0000000000000088c088c00000000000000000000000000000000000000000077777770087777770a88998800a8888880c977777700000000000000000000000
0000000000000077ce77ce0000000000000000000000000000000000000000977787770088aa8800a99ba990ca9999990c999999000000000000000000000000
0000000000000077ce77ceaaaaaae000000000000000007777770000000000977888770088888800a99ab990caaaaaa00caaaaaa000000000000000000000000
00000000000000778877ce7777770077000000770000007700770000000000988808880b99bb9900aaccaa00cbb00000ecbbbbbb000000000000000000000000
00000000000000777777ce77e0000077000000770000007788770000000000988999880b99999900aabbaa00cbbbbbb0ecccccc0000000000000000000000000
0000000000000077ce77ce77aae00077000000770000007799770000000000999099900baa0baa0dbbddbb00cc000000edd0edd0000000000000000000000000
0000000000000077ee77ee77770000770000007700000077aa77000000000b990ab9900baaaaaa0dbbccbb00cccccc00edddddd0000000000000000000000000
000000000000000000000077aaaae07700000077000000777777000000000baaaaaaa00bb00bb00dcc0dcc00dd000000ee00ee00000000000000000000000000
000000000000000000000077777700777777007777770088cc88000000000baaa0aaa0dbbbbbb00dccdecc00dddddd00eeeeee00000000000000000000000000
0000000000000000000000000000008888880088888800888888000000000baabbbaa0dcc0dcc00dd00dd000ee00000000000000000000000000000000000000
0000000000000000000000000000009999990099999900999999000000000bbbcbbb00dccedcc00dd00dd000eeeeee0000000000000000000000000000000000
00000000000000000000000000000000000000aaaaaa00aaaaaa000000000bbcccbb00dcccccc00eeee000000000000000000000000000000000000000000000
00000000000000000000000000000000000000bbbbbb00bbbbbb000000000cccdccc00dd00dd000ee00ee0000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000cccccc000000000ccdedcc00dddddd000ee00ee0000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000dddddd000000000dde0edd00ee00ee0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000ee000ee00eeeeee0000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000eee0e0e0eee00ee00000eee00ee00000eee0eee00ee00ee00000eee000000000000000000000000000000000000
00000000000000000000000000000000000000e00e0e00e00e00000000e00e0000000e0e00e00e000e0e00000e0e000000000000000000000000000000000000
00000000000000000000000000000000000000e00eee00e00eee000000e00eee00000eee00e00e000e0e0eee0eee000000000000000000000000000000000000
00000000000000000000000000000000000000e00e0e00e0000e000000e0000e00000e0000e00e000e0e00000e0e000000000000000000000000000000000000
00000000000000000000000000000000000000e00e0e0eee0ee000000eee0ee000000e000eee00ee0ee000000eee000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000cc00ccc00cc0ccc00000ccc00cc00000ccc0ccc0ccc0ccc00000c0c00cc0c0c0000000000000000000000000000000
0000000000000000000000000000000000c0c00c00c000c00000000c00c0c00000ccc0c000c0000c000000c0c0c0c0c0c0000000000000000000000000000000
0000000000000000000000000000000000c0c00c00c000cc0000000c00c0c00000c0c0cc00cc000c000000ccc0c0c0c0c0000000000000000000000000000000
0000000000000000000000000000000000c0c00c00c000c00000000c00c0c00000c0c0c000c0000c00000000c0c0c0c0c0000000000000000000000000000000
0000000000000000000000000000000000c0c0ccc00cc0ccc000000c00cc000000c0c0ccc0ccc00c000000ccc0cc000cc0000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000008808800000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000088888780000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000088888880000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000008888800000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000888000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
0110000000472004620c3400c34318470004311842500415003700c30500375183750c3000c3751f4730c375053720536211540114330c37524555247120c3730a470163521d07522375164120a211220252e315
01100000183732440518433394033c65539403185432b543184733940318433394033c655306053940339403184733940318423394033c655394031845321433184733940318473394033c655394033940339403
01100000247552775729755277552475527755297512775524755277552b755277552475527757297552775720755247572775524757207552475227755247522275526757297552675722752267522975526751
01100000001750c055003550c055001750c055003550c05500175180650c06518065001750c065003650c065051751106505365110650c17518075003650c0650a145160750a34516075111451d075113451d075
011000001b5771f55722537265171b5361f52622515265121b7771f76722757267471b7461f7362271522712185771b5571d53722517187361b7261d735227122454527537295252e5171d73514745227452e745
01100000275422754227542275422e5412e5452b7412b5422b5452b54224544245422754229541295422954224742277422e7422b7422b5422b5472954227542295422b742307422e5422e7472b547305462e742
0110000030555307652e5752b755295622e7722b752277622707227561297522b072295472774224042275421b4421b5451b5421b4421d542295471d442295422444624546245472444727546275462944729547
0110000000200002000020000200002000020000200002000020000200002000020000200002000020000200110171d117110171d227131211f227130371f2370f0411b1470f2471b35716051221571626722367
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e775000002e1752e075000002e1752e77500000
__music__
00 00044208
00 00044108
00 00010304
00 00010304
01 00010203
00 00010203
00 00010305
00 00010306
00 00010305
00 00010306
00 00010245
02 00010243

2591
demos/jelpi.p8 Normal file

File diff suppressed because it is too large Load Diff

243
demos/sort.p8 Normal file
View File

@@ -0,0 +1,243 @@
pico-8 cartridge // http://www.pico-8.com
version 23
__lua__
-- sorting demo
-- by zep
-- starting giraffee heights
g = {3,5,7,2,9,1,2}
-- draw a giraffe at x,y with
-- neck length of l
function draw_giraffe(x,y,l)
-- body
spr(33,x-8,y-8,2,1)
-- neck for l segments
for i=1,l do
spr(18, x,y-8-i*8)
end
-- put head on top
spr(2, x,y-16-l*8)
end
function _draw()
cls(12)
rectfill(0,110,127,127,14)
print("press 🅾️ to randomize",
22, 2, 7)
print("press ❎ to sort",
32, 10, 7)
for i=1,7 do
draw_giraffe(i*16,110,g[i])
end
end
function _update()
-- ❎ to sort
if (btnp(5)) then
-- look for a pair of
-- giraffees out of order
for i=1,6 do
if (g[i] > g[i+1]) then
-- the left one is taller,
-- so swap them!
temp = g[i]
g[i] = g[i+1]
g[i+1] = temp
sfx(0)
-- just one swap for now!
break
end
end
end
-- 🅾️ to randomize
if (btnp(4)) then
for i=1,7 do
g[i]=flr(rnd(9))
end
sfx(1)
end
end
__gfx__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000900900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000a00a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000aaaaa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000aa1aaaa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000aaaaaaa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000aaa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000aaa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000a9900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000a9900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000aa900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000aaa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000009aa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000009aa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000aaa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000aa9900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000aaa999aa9900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000006aaaa99aaaaa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000006099aaaaaaaaa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000099aaaaa99aa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000009040000900400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000a040000a00400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000a040000a00400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__label__
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccc777c777c777cc77cc77cccccc77777cccccc777cc77ccccc777c777c77cc77ccc77c777c777c777c777ccccccccccccccccccccccc
cccccccccccccccccccccc7c7c7c7c7ccc7ccc7ccccccc77ccc77cccccc7cc7c7ccccc7c7c7c7c7c7c7c7c7c7c777cc7cccc7c7ccccccccccccccccccccccccc
cccccccccccccccccccccc777c77cc77cc777c777ccccc77c7c77cccccc7cc7c7ccccc77cc777c7c7c7c7c7c7c7c7cc7ccc7cc77cccccccccccccccccccccccc
cccccccccccccccccccccc7ccc7c7c7ccccc7ccc7ccccc77ccc77cccccc7cc7c7ccccc7c7c7c7c7c7c7c7c7c7c7c7cc7cc7ccc7ccccccccccccccccccccccccc
cccccccccccccccccccccc7ccc7c7c777c77cc77ccccccc77777ccccccc7cc77cccccc7c7c7c7c7c7c777c77cc7c7c777c777c777ccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccc777c777c777cc77cc77cccccc77777cccccc777cc77cccccc77cc77c777c777ccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccc7c7c7c7c7ccc7ccc7ccccccc77c7c77cccccc7cc7c7ccccc7ccc7c7c7c7cc7cccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccc777c77cc77cc777c777ccccc777c777cccccc7cc7c7ccccc777c7c7c77ccc7cccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccc7ccc7c7c7ccccc7ccc7ccccc77c7c77cccccc7cc7c7ccccccc7c7c7c7c7cc7cccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccc7ccc7c7c777c77cc77ccccccc77777ccccccc7cc77cccccc77cc77cc7c7cc7cccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc9cc9ccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaccaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaaaaacccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaa1aaaacccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaaaaaaacccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaa9ccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccc9cc9ccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccaccacccccccccccccccccccccccccccccaa9ccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccaaaaaccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccaa1aaaacccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccaaaaaaacccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccccaa9cccccccccccccccccccccccccccccaa9ccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccc9cc9ccccccccccccca99ccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccaccacccccccccccccaa9cccccccccccccccccccccccccccccaa9ccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccaaaaaccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccaa1aaaacccccccccc9aaccccccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccaaaaaaacccccccccc9aaccccccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccaaacccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccaaacccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccca99ccccccccccccca99ccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccca99ccccccccccccca99ccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccaa9cccccccccccccaa9cccccccccccccccccccccccccccccaa9ccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccaaacccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccc9aaccccccccccccc9aaccccccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccc9aaccccccccccccc9aaccccccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccaaacccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccccccaaacccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccca99ccccccccccccca99ccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccc9cc9ccccccccccccca99ccccccccccccca99ccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccaccacccccccccccccaa9cccccccccccccaa9cccccccccccccccccccccccccccccaa9ccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccaaaaaccccccccccccaaacccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccaa1aaaacccccccccc9aaccccccccccccc9aaccccccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccaaaaaaacccccccccc9aaccccccccccccc9aaccccccccccccccccccccccccccccc9aaccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccccccccccccccccccca99ccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccca99ccccccccccccca99ccccccccccccca99cccccccccccc9cc9ccccccccccccca99cccccccccccccccccccccccccccc9cc9ccccccccccc
ccccccccccccccccccaa9cccccccccccccaa9cccccccccccccaa9ccccccccccccaccacccccccccccccaa9ccccccccccccccccccccccccccccaccaccccccccccc
ccccccccccccccccccaaacccccccccccccaaacccccccccccccaaaccccccccccccaaaaaccccccccccccaaaccccccccccccccccccccccccccccaaaaacccccccccc
cccccccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccaa1aaaacccccccccc9aaccccccccccccccccccccccccccccaa1aaaacccccccc
cccccccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccaaaaaaacccccccccc9aaccccccccccccccccccccccccccccaaaaaaacccccccc
ccccccccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccc
ccccccccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccccccccccccccccccaaaccccccccccc
cccccccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccccccccccccccccccca99ccccccccccc
cccccccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccca99cccccccccccc9cc9ccccccccccccca99ccccccccccc
ccccccccccccccccccaa9cccccccccccccaa9cccccccccccccaa9cccccccccccccaa9cccccccccccccaa9ccccccccccccaccacccccccccccccaa9ccccccccccc
ccccccccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaaccccccccccccaaaaaccccccccccccaaaccccccccccc
cccccccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccaa1aaaacccccccccc9aaccccccccccc
cccccccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccaaaaaaacccccccccc9aaccccccccccc
ccccccccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaaccccccccccc
ccccccccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaaccccccccccc
cccccccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccc
cccccccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccccca99ccccccccccc
ccccccccccccccccccaa9cccccccccccccaa9cccccccccccccaa9cccccccccccccaa9cccccccccccccaa9cccccccccccccaa9cccccccccccccaa9ccccccccccc
ccccccccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaaccccccccccc
cccccccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccc
cccccccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccccc9aaccccccccccc
ccccccccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaacccccccccccccaaaccccccccccc
cccccccccccccccccaa99ccccccccccccaa99ccccccccccccaa99ccccccccccccaa99ccccccccccccaa99ccccccccccccaa99ccccccccccccaa99ccccccccccc
cccccccccccaaa999aa99ccccccaaa999aa99ccccccaaa999aa99ccccccaaa999aa99ccccccaaa999aa99ccccccaaa999aa99ccccccaaa999aa99ccccccccccc
ccccccccc6aaaa99aaaaacccc6aaaa99aaaaacccc6aaaa99aaaaacccc6aaaa99aaaaacccc6aaaa99aaaaacccc6aaaa99aaaaacccc6aaaa99aaaaaccccccccccc
cccccccc6c99aaaaaaaaaccc6c99aaaaaaaaaccc6c99aaaaaaaaaccc6c99aaaaaaaaaccc6c99aaaaaaaaaccc6c99aaaaaaaaaccc6c99aaaaaaaaaccccccccccc
cccccccccc99aaaaa99aaccccc99aaaaa99aaccccc99aaaaa99aaccccc99aaaaa99aaccccc99aaaaa99aaccccc99aaaaa99aaccccc99aaaaa99aaccccccccccc
cccccccccc9c4cccc9cc4ccccc9c4cccc9cc4ccccc9c4cccc9cc4ccccc9c4cccc9cc4ccccc9c4cccc9cc4ccccc9c4cccc9cc4ccccc9c4cccc9cc4ccccccccccc
ccccccccccac4ccccacc4cccccac4ccccacc4cccccac4ccccacc4cccccac4ccccacc4cccccac4ccccacc4cccccac4ccccacc4cccccac4ccccacc4ccccccccccc
ccccccccccac4ccccacc4cccccac4ccccacc4cccccac4ccccacc4cccccac4ccccacc4cccccac4ccccacc4cccccac4ccccacc4cccccac4ccccacc4ccccccccccc
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
__sfx__
0001000022050280502f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000200001b5501d5501b5501b5501b540165301d5301d520005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500

255
demos/wander.p8 Normal file
View File

@@ -0,0 +1,255 @@
pico-8 cartridge // http://www.pico-8.com
version 19
__lua__
-- wander demo
-- by zep
x=24 y=24 -- position (in tiles)
dx=0 dy=0 -- velocity
f=0 -- frame number
d=1 -- direction (-1, 1)
function _draw()
cls(1)
-- move camera to current room
room_x = flr(x/16)
room_y = flr(y/16)
camera(room_x*128,room_y*128)
-- draw the whole map (128⁙32)
map()
-- draw the player
spr(1+f, -- frame index
x*8-4,y*8-4, -- x,y (pixels)
1,1,d==-1 -- w,h, flip
)
end
function _update()
ac=0.1 -- acceleration
if (btn(⬅️)) dx-= ac d=-1
if (btn(➡️)) dx+= ac d= 1
if (btn(⬆️)) dy-= ac
if (btn(⬇️)) dy+= ac
-- move (add velocity)
x+=dx y+=dy
-- friction (lower for more)
dx *=.7
dy *=.7
-- advance animation according
-- to speed (or reset when
-- standing almost still)
spd=sqrt(dx*dx+dy*dy)
f= (f+spd*2) % 4 -- 4 frames
if (spd < 0.05) f=0
-- collect apple
if (mget(x,y)==10) then
mset(x,y,14)
sfx(0)
end
end
__gfx__
0000000000000000000000000007000700070007000000000000000000000000000000000000000033333b333333333333333333339933333333333333333333
000000000007000700070007000777770007777700000000000000000000000000000000000000003333b33333b3333333333333339a39933333333333b33333
007007000007777700077777700717717007177100000000000000000000000000000000000000003388b8833b333b333333b33333377a93333333333b333b33
000770007007177170071771700777e7700777e70000000000000000000000000000000000000000388888783333b3333b33b33339a77333333333333333b333
00077000700777e7700777e70776686007766860000000000000000000000000000000000000000038888888333b333b33b3b3b3399ba93333333333333b333b
0070070007766860077668600777777007777770000000000000000000000000000000000000000038e8888833b333b333b333b3333b99333333333333b333b3
00000000077777700777777070d0070670d070600000000000000000000000000000000000000000338e888333333b3333333333333b33333333333333333b33
00000000171d7160171d171601111100011111000000000000000000000000000000000000000000311888333333333333333333331b33333333333333333333
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000077007707700077007700770077000770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000e7007e0e77007e00e7007e00e70077e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000e7007e00e7007e00e7007e00e7007e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000077777700777777007777770077777700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000071771700717717007177170071771700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000007777000077770000777700007777000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000007777000077777000777700077777000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000070007000070000000700070000007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__label__
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333b33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
3333333333333333333333333b333b33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
3333333333333333333333333333b333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
333333333333333333333333333b333b333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333b333b3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333b33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
3333333333333333333333333333333333333333333333333333333333b333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333b333333333333333333333333333333333333b333b333333333333333333333333333333333333333333333333333333333333333333
33333333333333333b33b333333333333333333333333333333333333333b3333333333333333333333333333333333333333333333333333333333333333333
333333333333333333b3b3b333333333333333333333333333333333333b333b3333333333333333333333333333333333333333333333333333333333333333
333333333333333333b333b33333333333333333333333333333333333b333b33333333333333333333333333333333333333333333333333333333333333333
3333333333333333333333333333333333333333333333333333333333333b333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b333333333333333333333
33333333333333333333333333333333333333333333b333333333333333333333333333333333333333333333333333333333333b333b333333333333333333
33333333333333333333333333333333333333333b33b333333333333333333333333333333333333333333333333333333333333333b3333333333333333333
333333333333333333333333333333333333333333b3b3b333333333333333333333333333333333333333333333333333333333333b333b3333333333333333
333333333333333333333333333333333333333333b333b33333333333333333333333333333333333333333333333333333333333b333b33333333333333333
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333333333333333333b3333333333333333333333333333333333333333333333333333333333333
3333333333333333333333333333b3333333b3333333333333333333333333333b333b3333333333333333333333333333333333333333333333333333333333
3333333333333333333333333b33b3333b33b3333333333333333333333333333333b33333333333333333333333333333333333333333333333333333333333
33333333333333333333333333b3b3b333b3b3b3333333333333333333333333333b333b33333333333333333333333333333333333333333333333333333333
33333333333333333333333333b333b333b333b333333333333333333333333333b333b333333333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333333333333333333333b3333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333339933333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333339a39933333333333333333
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333377a933333333333333333
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333339a773333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333399ba9333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b99333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b33333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331b33333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
333333333333333333b3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333b333b3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333b33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
3333333333333333333b333b33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
333333333333333333b333b333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
333333333333333333333b3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333373337333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333377777333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333373371771333333333333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333333333333733777e7333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333337766863333333333333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333333333333377777733333333333333333333333333333333333333333b3333333333333333333
333333333333333333333333333333333333333333333333333333333333171d71633333333333333333333333333333333333333b33b3333333333333333333
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b3b3b33333333333333333
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b333b33333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333399333333333333
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333339a399333333333
333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333377a9333333333
333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333339a7733333333333
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333399ba93333333333
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b993333333333
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b333333333333
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331b333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333339933333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333339a39933333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
3333333333377a933333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
3333333339a773333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333399ba9333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333b99333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333b33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333331b33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b3333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b333b3333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b33333333333
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b333b33333333
333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b333b333333333
333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333b3333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
3333333333333333333333333333333333333333333333333333b3333333333333333333333333333333333333333333333333333333b3333333333333333333
3333333333333333333333333333333333333333333333333b33b3333333333333333333333333333333333333333333333333333b33b3333333333333333333
33333333333333333333333333333333333333333333333333b3b3b333333333333333333333333333333333333333333333333333b3b3b33333333333333333
33333333333333333333333333333333333333333333333333b333b333333333333333333333333333333333333333333333333333b333b33333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333b3333333333333333333333333333333b333333333333333333333333333333333333333333333
3333333333333333333333333333b33333333333333333333b333b333333333333333333333333333b333b3333333333333333333333b333333333333333b333
3333333333333333333333333b33b33333333333333333333333b3333333333333333333333333333333b33333333333333333333b33b333333333333b33b333
33333333333333333333333333b3b3b33333333333333333333b333b333333333333333333333333333b333b333333333333333333b3b3b33333333333b3b3b3
33333333333333333333333333b333b3333333333333333333b333b333333333333333333333333333b333b3333333333333333333b333b33333333333b333b3
33333333333333333333333333333333333333333333333333333b3333333333333333333333333333333b333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
333333333333333333333333333333333333333333b33333333333333333333333333333333333333333333333333333333333333333333333b3333333333333
33333333333333333333333333333333333333333b333b3333333333333333333333333333333333333333333333333333333333333333333b333b3333333333
33333333333333333333333333333333333333333333b33333333333333333333333333333333333333333333333333333333333333333333333b33333333333
3333333333333333333333333333333333333333333b333b3333333333333333333333333333333333333333333333333333333333333333333b333b33333333
333333333333333333333333333333333333333333b333b3333333333333333333333333333333333333333333333333333333333333333333b333b333333333
333333333333333333333333333333333333333333333b33333333333333333333333333333333333333333333333333333333333333333333333b3333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
__map__
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0e0f0e0e0e0e0e0e0e0e0e0e0e0e0d0b0e0e0e0e0e0e0e0e0e0e0e0e0e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0c0e0e0e0e0f0e0e0e0e0e0e0e0e0c0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0e0e0e0c0e0e0e0e0e0e0e0f0e0e0e0e0e0c0e0e0e0a0e0e0b0e0e0e0e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0e0c0c0e0e0e0b0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0c0c0e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0f0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0e0e0e0e0e0e0e0e0e0e0e0d0e0e0c0e0e0e0e0e0e0e0e0e0e0a0e0f0e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0f0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0f0b0e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0f0e0e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0e0e0e0e0e0e0e0e0e0e0e0c0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0c0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0e0e0e0e0e0e0e0e0e0e0e0e0d0e0e0e0e0e0e0e0e0e0e0a0e0e0e0e0e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0f0e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0e0e0e0e0e0e0e0e0e0e0e0e0b0e0e0c0e0e0e0f0e0e0e0e0c0e0e0e0e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0e0e0e0e0c0e0e0e0e0e0e0c0e0e0e0e0e0f0f0e0e0e0e0e0e0e0e0e0e0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0e0c0e0e0f0e0e0e0f0e0e0c0e0c0e0e0e0c0e0e0e0e0e0e0e0e0d0e0f0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000e0e0e0e0e0b0e0e0e0e0e0e0e0e0b0e0e0d0e0e0f0e0e0e0e0e0e0c0e0e0e0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
000100001b5701f5701d5701f570225602755024542275422e532335223a52230502355023c5022b5022e5022e502335022e502305023a7023a7023a7023a7023a7023a7023a7023a7003a7003a7003b7003b700
011000001805000000000001a0501c050000001f050000002105023050210501f0501c050000001f0501c050170500000000000180501c050000001f0500000022050210501f0501e0501f0501f0421f02200000
010600000a3750f37513375183750f3750f47511475164751b47516475164751b4651d4651b4551b4551d445224451d4351d43524425274252441524415294052b40524405244052740529405274052440527405
__music__
03 01424344

156
demos/waves.p8 Normal file
View File

@@ -0,0 +1,156 @@
pico-8 cartridge // http://www.pico-8.com
version 19
__lua__
-- waves demo
-- by zep
r=64
function _draw()
cls()
for y=-r,r,3 do
for x=-r,r,2 do
local dist=sqrt(x*x+y*y)
z=cos(dist/40-t())*6
pset(r+x,r+y-z,6)
end
end
end
__gfx__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__label__
60606060600000000060000000006000000000000000000000000000000000000000000000000000000000000000000000006000000000600000000060606060
00000000006000000000600000000060000000000000000000000000000000000000000000000000000000000000000000600000000060000000006000000000
00000000000060000000006000000000606000000000000000000000000000000000000000000000000000000000006060000000006000000000600000000000
60606000000000600000000060000000000060000000000000000000000000000000000000000000000000000000600000000000600000000060000000006060
00000060000000006000000000600000000000606000000000000000000000000000000000000000000000006060000000000060000000006000000000600000
00000000600000000060000000006000000000000060606060606060606060600060606060606060606060600000000000006000000000600000000060000000
60600000006000000000000000000060000000000000000000000000000000006000000000000000000000000000000000600000000000000000006000000060
00006000000060000000600000000000606000000000000000000000000000000000000000000000000000000000006060000000000060000000600000006000
00000060000000600000006000000000000060606060606060606060606060606060606060606060606060606060600000000000006000000060000000600000
60000000600000006000000060000000000000000000000000000000606060606060606060000000000000000000000000000000600000006000000060000000
00600000000000000000000000606000000000000000000060606060606060606060606060606060600000000000000000006060000000000000000000000060
00006000006000000060000000000060606060606060606060606060606000000000006060606060606060606060606060600000000000600000006000006000
00000000000060000000600000000000000000000000606060606060606060606060606060606060606060000000000000000000000060000000600000000000
60000060000000600000006060000000000000006060606060600000000000000000000000000060606060606000000000000000606000000060000000600000
00000000600000006000000000606060606060606060606000000000000000000000000000000000006060606060606060606060000000006000000060000000
00600000000000000060000000000000000000606060606060606060606060606060606060606060606060606060000000000000000000600000000000000060
00006000006000000000600000000000006060606060000000000000000000000000000000000000000000606060606000000000000060000000006000006000
00000060000060000000006060606060600060600000000000000000000000000000000000000000000000000060600060606060606000000000600000600000
60000000000000600000000000000000606060606060606060606060606000000000006060606060606060606060606060000000000000000060000000000000
00600000600000006000000000000060606060000000000000000000000060606060600000000000000000000000606060600000000000006000000060000060
00000000006000000060606060606060606000000000000000000000000000000000000000000000000000000000006060606060606060600000006000000000
00006000000060000000000000006060606060606060606060000000000000000000000000000000606060606060606060606000000000000000600000006000
60000060000000600000000000606060600000000000000000606000000000000000000000006060000000000000000060606060000000000060000000600000
00000000000000006060606060006060000000000000000000000060606000000000006060600000000000000000000000606000606060606000000000000000
00600000600000000000000000606000606060606060000000000000000060606060600000000000000000606060606060006060000000000000000060000060
00006000006000000000006060600060000000000000600000000000000000000000000000000000000060000000000000600060606000000000006000006000
00000000000060606060600060606000000000000000006060000000000000000000000000000000606000000000000000006060600060606060600000000000
60000060000000000000006060606060606060600000000000600000000000000000000000000060000000000060606060606060606000000000000000600000
00600000600000000000606060600000000000006000000000006060000000000000000000606000000000006000000000000060606060000000000060000060
00000000006060606060000060000000000000000060000000000000606060600060606060000000000000600000000000000000600000606060606000000000
00006000000000000000606000606060606000000000600000000000000000006000000000000000000060000000006060606060006060000000000000006000
60000060000000000060606060000000000060000000006000000000000000000000000000000000006000000000600000000000606060600000000000600000
00600000606060606060606000000000000000600000000060600000000000000000000000000060600000000060000000000000006060606060606060000060
00000000000000000000000060606060600000006000000000006000000000000000000000006000000000006000000060606060600000000000000000000000
00006000000000006060606000000000006000000060000000000060600000000000000060600000000000600000006000000000006060606000000000006000
60000060606060606060600000000000000060000000600000000000006060606060606000000000000060000000600000000000000060606060606060600000
00000000000000000000006060606060000000000000006000000000000000000000000000000000006000000000000000606060606000000000000000000000
00600000000000606060600000000000600000600000000060000000000000000000000000000000600000000060000060000000000060606060000000000060
00006060006060600000000000000000000000006000000000600000000000000000000000000060000000006000000000000000000000000060606000606000
60000000600000006060006060606000006000000060000000006060000000000000000000606000000000600000006000006060606000606000000060000000
00600000000060606000600000000060000060000000600000000000606060606060606060000000000060000000600000600000000060006060600000000060
00006060606000000060000000000000000000600000006000000000000000000000000000000000006000000060000000000000000000600000006060606000
00000000000060606000606060600000600000000000000060000000000000000000000000000000600000000000000060000060606060006060600000000000
60000000006000000060000000006000006000006000000000606000000000000000000000006060000000006000006000006000000000600000006000000000
00606060600060606000000000000060000000000060000000000060606060606060606060600000000000600000000000600000000000006060600060606060
00000000006000000000606060000000000060000000600000000000000000000000000000000000000060000000600000000000606060000000006000000000
00000000600060600060000000600000600000600000006000000000000000000000000000000000006000000060000060000060000000600060600060000000
60606060006000006000000000006000000000000000000060606060606060606060606060606060600000000000000000006000000000006000006000606060
00000000000060600060606060000060006000006000000000000000000000000000000000000000000000006000006000600000606060600060600000000000
00000000600000006000000000600000000060000060000000000000006060606060606000000000000000600000600000000060000000006000000060000000
60606060006060000000000000006000600000000000606060606060606060606060606060606060606060000000000060006000000000000000606000606060
00000000600000600060606060000000000000600000000000000000606060606060606060000000000000000060000000000000606060600060000060000000
00000060006000006000000000000060006000006000000000006060606060000000606060606000000000006000006000600000000000006000006000600000
60606000000060600000000000600000000060000060606060600060600000000000000060600060606060600000600000000060000000000060600000006060
00000000606000000060606000006000600000000000000000006060006060606060606000606000000000000000000060006000006060600000006060000000
00000060000060006000000060000000000000600000000000606060600000000000000060606060000000000060000000000000600000006000600000600000
60606000600000600000000000600060006000006060606060606000000000000000000000006060606060606000006000600060000000000060000060006060
00000000006000000060606000006000000060000000000000000060006060606060606000600000000000000000600000006000006060600000006000000000
00000060000060006000000060000000600000600000000060606000600000000000000060006060600000000060000060000000600000006000600000600000
60606000600000600000000000600060006000006060606000000060000000000000000000600000006060606000006000600060000000000060000060006060
00000060006000000060606000000000000000000000000060600000006060606060606000000060600000000000000000000000006060600000006000600000
00000000600060006000000060006000600060000000006000006000600000000000000060006000006000000000600060006000600000006000600060000000
60606000000000600000000000600060000000606060600060000060000000000000000000600000600060606060000000600060000000000060000000006060
00000060006000000060606060000000006000000000006000600000000060606060600000000060006000000000006000000000606060600000006000600000
00006000600060006000000000006000600060000000000060006000006000000000006000006000600000000000600060006000000000006000600060006000
60600000000000600000000000600060000000606060600000000000600000000000000060000000000060606060000000600060000000000060000000000060
00000060006000000060606060006000006000000000006000600060000000000000000000600060006000000000006000006000606060600000006000600000
00006000600060006000000000600000600060000000600060000000000060606060600000000000600060000000600060000060000000006000600060006000
00600000000000600000000000000060000000600060000000006000006000000000006000006000000000600060000000600000000000000060000000000060
60000060006000000060606060006000006000006000006000600000600000000000000060000060006000006000006000006000606060600000006000600000
00006000000060006000000000600000600060000000600000000060000000000000000000600000000060000000600060000060000000006000600000006000
60600000600000000000000000006060000000606060000060000000000000000000000000000000600000606060000000606000000000000000000060000060
00000060006000600000606060600000606000000000000000006000000060606060600000006000000000000000006060000060606060000060006000600000
00006000000000000060000000000060000060000000006000600000006000000000006000000060006000000000600000600000000000600000000000006000
60600000600060006000000000006000006000606060600000000000600000000000000060000000000060606060006000006000000000006000600060000060
00000060000000000000606060600060600000000000000060000060000000000000000000600000600000000000000060600060606060000000000000600000
00000000006000600060000000006000006060000000006000000000000000000000000000000000006000000000606000006000000000600060006000000000
60606000600060000000000000000060600000606060600000006000000000000000000000006000000060606060000060600000000000000000600060006060
00000000000000006000006060606000606060000000000000600000000060606060600000000060000000000000606060006060606000006000000000000000
00000060006000600000600000000060000000600000000060000000606000000000006060000000600000000060000000600000000060000060006000600000
60606000000000000060000000000000606060006060606000000060000000000000000000600000006060606000606060000000000000600000000000006060
00000000600060000000000060606060000000600000000000006000000000000000000000006000000000000060000000606060600000000000600060000000
00000060000000006000006000000000606060006000000000600000000000000000000000000060000000006000606060000000006000006000000000600000
60606000006000600000600000000000006060600060606060000000000000606060000000000000606060600060606000000000000060000060006000006060
00000000600000000060000060606060600060006000000000000000006060000000606000000000000000006000600060606060600000600000000060000000
00000000000060000000000000000000006000600060000000000060600000000000000060600000000000600060006000000000000000000000600000000000
60606060000000006000006000000000000060606000606060606000000000000000000000006060606060006060600000000000006000006000000000606060
00000000006000600000600000006060606060606060000000000000000000000000000000000000000000606060606060606000000060000060006000000000
00000000600000000060000000600000000000606000600000000000000000606060000000000000000060006060000000000060000000600000000060000000
60606060000060000000000060000000000000006060006060606060606060000000606060606060606000606000000000000000600000000000600000606060
00000000000000006000006000000060606060600060600000000000000000000000000000000000000060600060606060600000006000006000000000000000
60000000006000000000600000006000000000006060606060000000000000000000000000000000606060606000000000006000000060000000006000000000
00606060600000600000000000600000000000000000606000606060606060606060606060606060006060000000000000000060000000000060000060606060
00000000000060000060000060000000606060606060606060600000000000000000000000000060606060606060606060000000600000600000600000000000
60000000006000006000006000000060000000000000006060606060000000000000000000606060606000000000000000600000006000006000006000000000
00606060600000000000000000006000000000000000000060606060606060606060606060606060600000000000000000006000000000000000000060606060
60000000000000600000600000600000000060606060606060606060606000000000006060606060606060606060600000000060000060000060000000000000
00600000000060000060000000000000006000000000000000006060606060606060606060606000000000000000006000000000000000600000600000000060
60006060606000000000000060000000600000000000000000000000006060606060606000000000000000000000000060000000600000000000006060606000
60600000000000006000006000000060000000006060606060606060606060606060606060606060606060606000000000600000006000006000000000000060
00006000000000600000000000006000000000600000000000000000000000000000000000000000000000000060000000006000000000000060000000006000
60600060606060000000600000600000000060000000000000000000000000000000000000000000000000000000600000000060000060000000606060600060
00006000000000000060000000000000006000000000006060606060606060606060606060606060606000000000006000000000000000600000000000006000
60600060000000006000000060000000600000000060600000000000000000000000000000000000000060600000000060000000600000006000000000600060
60606000606060600000006000000060000000006000000000000000000000000000000000000000000000006000000000600000006000000060606060006060
00000000000000000000600000006000000000600000000000000000606060606060606060000000000000000060000000006000000060000000000000000000
60606060000000000060000000600000000060000000000000606060000000000000000000606060000000000000600000000060000000600000000000606060
00606060606060606000000060000000006000000000006060000000000000000000000000000000606000000000006000000000600000006060606060606060
60006000600000000000000000000000600000000000600000000000000000000000000000000000000060000000000060000000000000000000000060006000
00600060006000000000606000000060000000006060000000000000000000000000000000000000000000606000000000600000006060000000006000600060
00006060600060606060000000006000000000600000000000000000606060606060606060000000000000000060000000006000000000606060600060606000
60600060606000000000000000600000000060000000000000006060000000000000000000606000000000000000600000000060000000000000006060600060
00006000600060000000000060000000006000000000000060600000000000000000000000000060600000000000006000000000600000000000600060006000
00000060006000606060606000000000600000000000606000000000000000000000000000000000006060000000000060000000006060606060006000600000
60606060606060000000000000000060000000000060000000000000000000000000000000000000000000600000000000600000000000000000606060606060
00000000606060600000000000006000000000006000000000000000000000000000000000000000000000006000000000006000000000000060606060000000
00000000006060606060606060600000000060600000000000000060606060606060606060600000000000000060600000000060606060606060606000000000
60606060600060000000000000000000006000000000000000606000000000000000000000006060000000000000006000000000000000000000600060606060
00000000006060606060000000000000600000000000006060000000000000000000000000000000606000000000000060000000000000606060606000000000
00000000000000606000606060606060000000000000600000000000000000000000000000000000000060000000000000606060606060006060000000000000
00606060606060006060000000000000000000006060000000000000000000000000000000000000000000606000000000000000000000606000606060606060
60000000000000606060600000000000000060600000000000000000000060606060600000000000000000000060600000000000000060606060000000000000
00000000000000006060606060606060606000000000000000006060606000000000006060606000000000000000006060606060606060606000000000000000
00000000000000000060606000000000000000000000000060600000000000000000000000000060600000000000000000000000006060600000000000000000
00000000000000000000606060000000000000000060606000000000000000000000000000000000006060600000000000000000606060000000000000000000
00000000000000000000006060606060606060606000000000000000000000000000000000000000000000006060606060606060606000000000000000000000
00000000000000000000000060600000000000000000000000000000000000000000000000000000000000000000000000000060600000000000000000000000
00000000000000000000000000606060000000000000000000006060606060606060606060606000000000000000000000606060000000000000000000000000

310
myfirstgame.p8 Normal file
View File

@@ -0,0 +1,310 @@
pico-8 cartridge // http://www.pico-8.com
version 42
__lua__
function _init()
mymap={
w=32,
h=9
}
initcoins()
initplayer()
end
function _update()
updateplayer()
if btn(4) then
reload()
_init()
end
end
function _draw()
cls()
camera(player.x-20,-20)
map(0,0,0,0,mymap.w,mymap.h)
drawcoins()
drawplayer()
end
-->8
function initplayer()
player={
x=8,
y=56,
dir=false,
vv=0,
vh=2,
w=8,
h=8,
image=3,
timer=0,
walking=false,
jumping=false
}
v0=-4.5
gravity=0.5
end
function updateplayer()
local dx=0
local dy=0
--walk
if btn(⬅️) and player.x>=10 then
dx=-player.vh
player.dir=true
for i=1,player.vh do
local new_x,new_y,_,_=trymove(player.x,player.y,-1,0)
player.x=new_x
if isonground() then
sfx(2)
end
walking=true
end
elseif btn(➡️) and player.x<=mymap.w*8-player.w-10 then
dx=player.vh
player.dir=false
for i=1,player.vh do
local new_x,new_y,_,_=trymove(player.x,player.y,1,0)
player.x=new_x
if isonground() then
sfx(2)
end
walking=true
end
else walking=false
end--if
--jump & fall
if isonground() then
player.vv=0
if btn(⬆️) then
sfx(1)
player.vv=v0
walking=false
end
else
player.vv+=gravity
end
dy=player.vv
if dy>0 then
dy=ceil(dy)
for i=1,dy do
local new_x,new_y,_,actual_dy=trymove(player.x,player.y,0,1)
player.y=new_y
if actual_dy==0 then
player.vv=0
break
end --if
end --for
elseif dy<0 then
dy=flr(dy)
for i=1,-dy do
local new_x,new_y,_,actual_dy=trymove(player.x,player.y,0,-1)
player.y=new_y
if actual_dy==0 then
player.vv=0
end --if
end --for
end
--image state
if isonground()==false then
walking=false
jumping=true
else jumping=false
end
--eat coins
eatcoin(player.x+3,player.y+4)
end
function drawplayer()
if walking==true then
player.timer+=1
if player.timer%6==0 then
if player.image==3 then
player.image=19
else
player.image=3
end
end
elseif jumping==true then
player.image=35
else player.image=3
end
spr(player.image,player.x,player.y,1,1,player.dir)
end
-->8
function issolid(x,y)
local tile=mget(flr(x/8),flr(y/8))
local f=fget(tile)
if f==1 then
return true
else return false
end--if
end
function trymove(x,y,dx,dy)
local new_x=x+dx
local new_y=y+dy
local collided_x=false
local collided_y=false
if dx>0 then --right
for i=0,player.h-1 do
if issolid(new_x+player.w-1,new_y+i) then
collided_x=true
break
end --if
end --for
end --if
if dx<0 then --left
for i=0,player.h-1 do
if issolid(new_x,new_y+i) then
collided_x=true
break
end --if
end --for
end --if
if dy>0 then --down
for i=0,player.w-1 do
if issolid(new_x+i,new_y+player.h-1) then
collided_y=true
break
end --if
end --for
end --if
if dy<0 then --up
for i=0,player.w-1 do
if issolid(new_x+i,new_y) then
collided_y=true
break
end --if
end --for
end --if
if new_y<0 then
dy=0
collided_y=true
end
if collided_x==true then
dx=0
end
if collided_y==true then
dy=0
end
return x+dx,y+dy,dx,dy
end
function isonground()
for i=0,player.w-1 do
if issolid(player.x+i,player.y+player.h) then
return true
end --if
end --for
return false
end
-->8
function initcoins()
score=0
coins={}
for x=0,mymap.w do
for y=0,mymap.h do
local tile=mget(x,y)
if tile==4 then
add(coins,{
x=x*8,
y=y*8,
w=6,
collected=false,
timer=0
})
mset(x,y,2)
end--if
end
end
end
function eatcoin()
for c in all(coins) do
if c.collected==false and isoverlap(c.x,c.y,c.w)==true then
c.collected=true
sfx(0)
score+=1
c.timer=3
end--if
end--for
end
function isoverlap(x0,y0,w0)
local x=player.x
local y=player.y
if x+player.w<x0+(8-w0)/2 or x>x0+w0+(8-w0)/2 or y+player.h<y0+(8-w0)/2 or y>y0+w0+(8-w0)/2 then
return false
else return true
end
end
function drawcoins()
for c in all(coins) do
if c.collected==false then
spr(5,c.x,c.y)
elseif c.timer>0 then
spr(21,player.x+8,player.y)
spr(21,player.x-8,player.y,1,1,1)
c.timer-=1
end--if
end
print("score:"..score,player.x-5,1,4)
end
__gfx__
0000000033b3b3b377777777002eeee0777777770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000003b333b33777777c722222eee779a9a77009a9a0000000000000000000000000000000000000000000000000000000000000000000000000000000000
0070070033333333777777770557975079a9a9a709a9a9a000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000444444447c7777775591919579aaaa9709aaaa9000000000000000000000000000000000000000000000000000000000000000000000000000000000
0007700045444544777777770599899079aaa9a709aaa9a000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700444544447777777700e2e2e0799aaa97099aaa9000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000004444445477777c770e02220e779999770099990000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000454444447777777700020200777777770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000004454444477777777002eeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000054444454777777c722222eee000000000009a00000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000444544447777777705579750000000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000444444447c77777755919195000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000045444544b77777b7059989900000000000990a0000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000444544447b777b7700e2e2e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000444444547b77b777000e22e0000000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000004544444477b7b77700022000000000000009a00000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000002eeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000022222eee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000005519150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000055979795000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000e99899e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000e2e2e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000022200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__gff__
0001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
0202020202020202020204020202020202020202020202020202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020202020202020202020202020202020202020202020204020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020402020202020202020202020202020202020402021202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020202020202010101020202020202020202020202010101020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020202120402020202020202020402020212020202020202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020201010102020202020202020202020101010202020202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020202020202021202020202020201011104020202020202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0212120202020202010101020212020111111102020202020202121202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0101010101010101111111010101011111111101010101010101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
000300001a0101d0201f0302004023050260402b03030020360103800037000360003400034000370003600036000340003400033000320003200022000220002200000000000000000000000000000000000000
000100000f0601106011070110701107013070140701506016060190001a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00010000210401b000130001300000000000000000000000000000000000000170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

9
test.p8 Normal file
View File

@@ -0,0 +1,9 @@
pico-8 cartridge // http://www.pico-8.com
version 42
__gfx__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

282
timetest.p8 Normal file
View File

@@ -0,0 +1,282 @@
pico-8 cartridge // http://www.pico-8.com
version 42
__lua__
twodays=172800
timescale=1
stime={}
ctime={}
function _init()
printh("init")
cartdata("savedgame")
timeset = dget(0)
stime=dt:new()
if (timeset==0) then
stime:from(currenttime())
printh("save:"..stime:tostring())
stime:save()
else
stime:read()
printh("read:"..stime:tostring())
-- printh("starttime = ".. )
end
cls()
-- printh("goaltime"..goaltime)
m:draw()
ui:draw()
end
function _update()
ctime=dt:new()
ctime:from(currenttime())
if (btn(⬆️)) and
(btn(⬇️)) and
(btn(⬅️)) and
(btn(➡️)) and
(btn(❎)) and
(btn(🅾️)) then
dset(0,0)
printh("save reset")
end
if (btn(🅾️)) printh(ctime:tostring())
xv = 0
yv = 0
if (btn(➡️)) xv+=p.s
if (btn(⬅️)) xv-=p.s
if (btn(⬆️)) yv-=p.s
if (btn(⬇️)) yv+=p.s
p:input(xv,yv)
p:move()
what=ctime:tdiff(stime)
if (btn(❎)) printh(what)--printh(stime:tostring())
k:update(what)
end
function _draw()
m:draw()
ui:draw()
p:draw()
k:draw()
end
-->8
p = { --player
s=0,
x=64,
y=32,
w=8,
h=8,
s=1,
xv = 0,
yv = 0,
draw = function(self)
spr(s,self.x,self.y)
end,
input = function(self, xv, yv)
self.xv = xv
self.yv = yv
end,
move = function(self)
if not (hitx(self.x+self.xv,self.y,self.w,self.h)) then
self.x+= self.xv
end
if not (hity(self.x,self.y+self.yv,self.w,self.h)) then
self.y+= self.yv
end
end
}
k={ --kid
s=1,
x=20,
y=20,
m=1, --modifier
t = 0,
growtime=1.30, -- 1 min 30 sec
update = function(self,t)
self.t=t*self.m
pa = self.t/self.growtime
if (pa<self.growtime) then
self.s=3*pa+1
else
self.s=4
end
end,
draw = function(self)
spr(self.s,self.x,self.y)
end
}
-->8
m = { --map
rox=0,
roy=0,
draw = function(self)
map(0,0,0,0,16,8)
end
}
ui = {
draw= function(self)
rectfill(0,128,256,256,1)
end
}
dt = {
s=0,
m=0,
h=0,
d=0,
mo=0,
y=0,
tostring=
function(self)
return self.s..":"
..self.m..":"
..self.h.." "
..self.d.."-"
..self.mo.."-"
..self.y
end,
from=function(self, obj)
self.s = obj.s
self.m = obj.m
self.h = obj.h
self.d = obj.d
self.mo = obj.mo
self.y = obj.y
end,
save=function(self)
dset(1,self:dat())
dset(2,self:tim())
dset(0,1)
end,
read=function(self)
dat=dget(1)
tim=dget(2)
dat/=10
self.y = flr(dat)
dat = (dat-self.y)*100
self.mo= flr(dat)
dat = (dat-self.mo)*100
self.d=flr(dat)
tim/=100
self.h=flr(tim)
tim = (tim - self.h)*100
self.m=flr(tim)
tim = (tim-self.m)*100
self.s = flr(tim)
end,
dat=function(self)
return self.y*10+self.mo/10+self.d/1000
end,
tim=function(self)
return self.h*100+self.m+self.s/100
end,
tdiff=function(self,obj)
return self:tim()-obj:tim()
end,
ddiff=function(self,obj)
return self:dat()-obj:dat()
end
}
function dt:new(obj)
obj = obj or {}
setmetatable(obj, {__index = self})
return obj
end
-->8
-- check hit on top or bottom
function hity(x,y,w,h) --check hit on top or bottom
hit=false
for i=x,x+w do
tile1=mget(i/8,y/8)
tile2=mget(i/8,(y+h)/8)
if (fget(tile1,0)) then
hit=true
elseif (fget(tile2,0)) then
hit=true
end
end
return hit
end
--check hit on sides
function hitx(x,y,w,h) --check hit on sides
hit = false
for i=y,y+h do
tile1=mget(x/8,i/8)
tile2=mget((x+w)/8,i/8)
if (fget(tile1,0)) then
hit=true
elseif (fget(tile2,0)) then
hit=true
end
end
return hit
end
-- returns the current time.
--i have to split it up fml
function currenttime()
t = {
s=stat(95),
m=stat(94),
h=stat(93),
d=stat(92),
mo=stat(91),
y=stat(90)
}
return t
end
__gfx__
00000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000001111110166116610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000011110001611610166116610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000110000011610001612610166116610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000110000011110001111110111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000011110001211110111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000001111110111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222dddddddd5555555555555554555555554444444455555555555444445555555544445555000000000000000000000000000000000000000000000000
22222222d555555d5555555555555554555555555555555555555555555444445555555544445555000000000000000000000000000000000000000000000000
22222222d555555d5555555555555554555555555555555555555555555444445555555544445555000000000000000000000000000000000000000000000000
22222222d555555d5555555555555554555555555555555544444555555444445555555544445555000000000000000000000000000000000000000000000000
22222222d555555d5555555555555554555555555555555544444555555444445554444455555555000000000000000000000000000000000000000000000000
22222222d555555d5555555555555554555555555555555544444555555555555554444455555555000000000000000000000000000000000000000000000000
22222222d555555d5555555555555554555555555555555544444555555555555554444455555555000000000000000000000000000000000000000000000000
22222222dddddddd5555555555555554444444445555555544444555555555555554444455555555000000000000000000000000000000000000000000000000
00000000007777000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000007777000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000077cc7700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000007cccc700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000077777700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000077777700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000077777700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000007777000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__gff__
0000000000000000000000000000000000010101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
1212121212121212121212121212121200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1218141414141414141414141414161200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1213101010101010101010101010111200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1213101010101010101010101010111200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1213101010101010101010101010111200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1213101010101010101010101010111200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1213101010101010101010101010111200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1217151515151515151515151515191200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1212121212121212121212121212121200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

594
trywater.p8 Normal file
View File

@@ -0,0 +1,594 @@
pico-8 cartridge // http://www.pico-8.com
version 42
__lua__
function _init()
mymap={
w=36,
h=11,
}
coins_collected=false
chest_collected=false
initcoins()
initkey()
initchest()
initplayer()
initwater()
poke(0x5f5c,255) --disable btnp repeat
end
function _update()
updatewater()
updateplayer()
if btn(❎) then
reload()
_init()
end
end
function _draw()
cls()
camera(player.x-20,-15)
map(0,0,0,0,mymap.w,mymap.h)
drawcoins()
drawkey()
drawchest()
drawwater()
drawplayer()
if coins_collected==true and chest_collected==true then
print("you win!\npress x to restart",player.x-5,9,3)
end
end
-->8
function initplayer()
player={
x=8,
y=mymap.h-8,
dir=false,
vv=0,
vh=2,
w=8,
h=8,
image=3,
timer=0,
walking=false,
jumping=false,
inwater=false
}
v0=-4.5
gravity=0.5
vf=-1
v1=-2
end
function updateplayer()
local dx=0
local dy=0
--walk
if btn(⬅️) and player.x>=10 then
dx=-player.vh
player.dir=true
for i=1,player.vh do
local new_x,new_y,_,_=trymove(player.x,player.y,-1,0)
player.x=new_x
walking=true
end
elseif btn(➡️) and player.x<=mymap.w*8-player.w-10 then
dx=player.vh
player.dir=false
for i=1,player.vh do
local new_x,new_y,_,_=trymove(player.x,player.y,1,0)
player.x=new_x
walking=true
end
else walking=false
end--if
--jump & fall
player.inwater=isinwater(player.x+4,player.y+4)
if player.inwater==false then
if isonground() then
player.vv=0
if btnp(⬆️) then
sfx(1)
player.vv=v0
walking=false
end
else
player.vv+=gravity
end
dy=player.vv --falling
if dy>0 then
dy=ceil(dy)
for i=1,dy do
local new_x,new_y,_,actual_dy=trymove(player.x,player.y,0,1)
player.y=new_y
if actual_dy==0 then
player.vv=0
break
end --if
end --for
elseif dy<0 then --jumping
dy=flr(dy)
for i=1,-dy do
local new_x,new_y,_,actual_dy=trymove(player.x,player.y,0,-1)
player.y=new_y
if actual_dy==0 then
player.vv=0
end --if
end --for
end
end
----in water
if player.inwater==true then
player.vv=vf
dy=player.vv
for i=1,-dy do
local new_x,new_y,_,actual_dy=trymove(player.x,player.y,0,-1)
player.y=new_y
if actual_dy==0 then
player.vv=0
end
end
end
if player.inwater==true or isinwater(player.x+4,player.y+12) then
if btnp(⬆️) then --jump in water
sfx(1)
player.vv=v1
end
end
--image state
if isonground()==false then
walking=false
jumping=true
else jumping=false
end
--eat coins
if coins_collected==false then
eatcoin()
end
getkey()
if chest_collected==false then
openchest()
end
end
function drawplayer()
if player.inwater==true then
player.image=36
elseif walking==true then
player.timer+=1
if player.timer%6==0 then
sfx(2)
if player.image==3 then
player.image=19
else
player.image=3
end
end
elseif jumping==true then
player.image=35
else player.image=3
end
spr(player.image,player.x,player.y,1,1,player.dir)
end
------------
function issolid(x,y)
local tile=mget(flr(x/8),flr(y/8))
local f=fget(tile)
if f==1 then
return true
else return false
end--if
end
function trymove(x,y,dx,dy)
local new_x=x+dx
local new_y=y+dy
local collided_x=false
local collided_y=false
if dx>0 then --right
for i=0,player.h-1 do
if issolid(new_x+player.w-1,new_y+i) then
collided_x=true
break
end --if
end --for
end --if
if dx<0 then --left
for i=0,player.h-1 do
if issolid(new_x,new_y+i) then
collided_x=true
break
end --if
end --for
end --if
if dy>0 then --down
for i=0,player.w-1 do
if issolid(new_x+i,new_y+player.h-1) then
collided_y=true
break
end --if
end --for
end --if
if dy<0 then --up
for i=0,player.w-1 do
if issolid(new_x+i,new_y) then
collided_y=true
break
end --if
end --for
end --if
if new_y<0 then
dy=0
collided_y=true
end
if collided_x==true then
dx=0
end
if collided_y==true then
dy=0
end
return x+dx,y+dy,dx,dy
end
function isonground()
for i=0,player.w-1 do
if issolid(player.x+i,player.y+player.h) then
return true
end --if
end --for
return false
end
----------
function isinwater(x,y)
local x1=flr(x/8)
local y1=flr(y/8)
if water_state[x1][y1]==true then
return true
else return false
end--if
end
-->8
function initwater()
water_map={}
water_state={}
water_level=mymap.h-1
rising=true
water_timer=90
for x=0,mymap.w-1 do
water_map[x]={}
water_state[x]={}
for y=0,mymap.h-1 do
local tile=mget(x,y)
local f=fget(tile)
if f!=1 and f!=4 then
water_map[x][y]=true --not solid
else water_map[x][y]=false --ground
end--if
water_state[x][y]=false
end
end
end
function water_rise()
if water_level>0 then
water_level-=1
for i=0,mymap.w-1 do
if water_map[i][water_level]==true then
water_state[i][water_level]=true
end
end
end
end
function water_fall()
if water_level<mymap.h-1 then
for i=0,mymap.w-1 do
if water_map[i][water_level]==true then
water_state[i][water_level]=false
end
end
water_level+=1
end
end
function updatewater()
water_timer-=1
if water_timer==0 then
water_timer=90
if rising==true then
water_rise()
else water_fall()
end
end
---schedule
if water_level==3 and rising==true then
rising=false
elseif water_level==mymap.h-1 and rising==false then
rising=true
end
end
function drawwater()
for x=0,mymap.w-1 do
for y=0,mymap.h-1 do
if water_state[x][y]==true then
if y==water_level then
spr(20,x*8,y*8)
else
spr(4,x*8,y*8)
end
end
end
end
end
-->8
function initcoins()
score=0
totalscore=8
coins={}
for x=0,mymap.w do
for y=0,mymap.h do
local tile=mget(x,y)
if tile==5 then
add(coins,{
x=x*8,
y=y*8,
w=6,
collected=false,
timer=0
})
mset(x,y,2)
end--if
end
end
end
function eatcoin()
for c in all(coins) do
if c.collected==false and isoverlap(c.x,c.y,c.w)==true then
c.collected=true
sfx(0)
score+=1
c.timer=3
end--if
end--for
end
function isoverlap(x0,y0,w0)
local x=player.x
local y=player.y
if x+player.w<x0+(8-w0)/2 or x>x0+w0+(8-w0)/2 or y+player.h<y0+(8-w0)/2 or y>y0+w0+(8-w0)/2 then
return false
else return true
end
end
function drawcoins()
for c in all(coins) do
if c.collected==false then
spr(5,c.x,c.y)
elseif c.timer>0 then
spr(21,player.x+8,player.y)
spr(21,player.x-8,player.y,1,1,1)
c.timer-=1
end--if
end
print("score:"..score,player.x-5,1,4)
if score==totalscore then
coins_collected=true
end
end
------------
function initkey()
for x=0,mymap.w do
for y=0,mymap.h do
local tile=mget(x,y)
if tile==6 then
key={
x=x*8,
y=y*8,
w=6,
collected=false
}
mset(x,y,34)
break
end--if
end
end
end
function getkey()
if key.collected==false and isoverlap(key.x,key.y,key.w)==true then
key.collected=true
sfx(0)
end--if
end
function drawkey()
if key.collected==false then
spr(6,key.x,key.y)
elseif chest_collected==false then
print("key:z to use",player.x+30,1,4)
end
end
function initchest()
for x=0,mymap.w do
for y=0,mymap.h do
local tile=mget(x,y)
if tile==7 then
chest={
x=x*8,
y=y*8,
w=8,
collected=false,
timer=0
}
mset(x,y,2)
spr(7,key.x,key.y)
break
end--if
end
end
end
function openchest()
if btnp(🅾️) and key.collected==true and chest.collected==false and isoverlap(chest.x,chest.y,chest.w)==true then
chest.collected=true
chest_collected=true
sfx(3)
chest.timer=15
end--if
end
function drawchest()
if chest.collected==false then
spr(7,chest.x,chest.y)
else
if chest.timer>0 then
chest.timer-=1
spr(8,chest.x,chest.y-12+chest.timer/3)
end
spr(23,chest.x,chest.y)
print("treasure found!",player.x+30,1,4)
end
end
__gfx__
0000000033b3b3b377777777002eeee0cccccccc00000000000000000c1111c00000000000000000000000000000000000000000000000000000000000000000
000000003b333b3377777f7722222eeec11cc11c009a9a0000000cc0c111111c0100001000000000000000000000000000000000000000000000000000000000
007007003333333377777777055797501cc11cc109a9a9a00000c880999889990100001000000000000000000000000000000000000000000000000000000000
00077000444444447f77777755919195cccccccc09aaaa90000c8800c118811c0000000000000000000000000000000000000000000000000000000000000000
00077000454445447777777705998990cccccccc09aaa9a00cc88000c118811c0eeeeee000000000000000000000000000000000000000000000000000000000
00700700444544447777777700e2e2e0c11cc11c099aaa900c080000c111111c00eeee0000000000000000000000000000000000000000000000000000000000
00000000444444547777f7770e02220e1cc11cc10099990008880000c111111c000ee00000000000000000000000000000000000000000000000000000000000
00000000454444447777777700020200cccccccc0000000000000000c111111c0000000000000000000000000000000000000000000000000000000000000000
000000004454444477777777002eeee000c100c10000000000000000c111111c0000000000000000000000000000000000000000000000000000000000000000
00000000544444547777777722222eeec11cc11c0009a000000000000c19a1c00000000000000000000000000000000000000000000000000000000000000000
000000004445444477777777055797501cc11cc100900000000000000c9e9ac00000000000000000000000000000000000000000000000000000000000000000
00000000444444447777777755919195cccccccc0000000000000000c9a9e9ac0000000000000000000000000000000000000000000000000000000000000000
0000000045444544b77777b705998990cccccccc00990a0000000000cccccccc0000000000000000000000000000000000000000000000000000000000000000
00000000444544447b777b7700e2e2e0c11cc11c0000000000000000c111111c0000000000000000000000000000000000000000000000000000000000000000
00000000444444547b77b777000e22e01cc11cc10090000000000000c111111c0000000000000000000000000000000000000000000000000000000000000000
000000004544444477b7b77700022000cccccccc0009a00000000000c111111c0000000000000000000000000000000000000000000000000000000000000000
000000000000000077777777002eeee0002eeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000007777777722222eee22222eee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000007777c77705519150055191500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000007777777755979795559797950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000007c7777770e99899e009989900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000007777777700e2e2e00ee2e2ee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000777777c700022200700222070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000007777777700200020007202700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__gff__
0001000002000000000000000000000000010000020000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
0202020202020202020202020202020202020202020202020202020202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020202020202020202020202050202020202020202020202020202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020202020202020202020202020202020202020202020202020202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020202020202020201010101010102020202020202020202020202020205020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020202020202020211222222221102020202020202020702020202020201010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020202020202010111062222221102020202020202010101020202020211111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020205120202020211111102020202020212020202020202020202020211111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020201010102020202020202020202020101010202020202020202020211111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0202020202020202021202020202020201011105020202020202020202020211111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0212120202020202010101020212010111110202020202021202121202020211111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0101010101010101111111010101111111111101010101010101010101010111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
000200001a0101d0201f0202002023020260202b02030020360103800037000360003400034000370003600036000340003400033000320003200022000220002200000000000000000000000000000000000000
0101000013050130501106013060180601a0601c0501d000287002870028700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000100000c0510c0062eb0630b0732b0736b0700000080000c0000e8061cb05303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000800001850015560175601856015560185601c5601f5601f560255002c5002a0002b0002a000290002800027000250002300021000210002100022000220000000000000000000000000000000000000000000
0010000000000000000000026050240502305022050200501d0501905015050120501105011050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0020000018a5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

34
untitled.p8 Normal file
View File

@@ -0,0 +1,34 @@
pico-8 cartridge // http://www.pico-8.com
version 42
__lua__
function _init()
x=64
y=64
z=false
end
function _update()
if(btn(⬅️))x-=1
if(btn(➡️))x+=1
if(btn(⬆️))y-=1
if(btn(⬇️))y+=1
if(btn(❎))z=not z
if(z) then s=1 else s=0 end
end
function _draw()
cls()
spr(s,x,y)
end
__gfx__
00000000444444440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000445544440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700444454440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000445544440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000444454440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700444444440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000444444440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000444444440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

50
untitled_1.p8 Normal file
View File

@@ -0,0 +1,50 @@
pico-8 cartridge // http://www.pico-8.com
version 42
__lua__
--
function _init()
y=(stat(80)-2025)*365*24*60*60
end
function _update()
m=stat(81)-8
d=stat(82)
if(m>=0)then
d=2-d
else
m= (m+1)*30
d=30-d
end
h=24-stat(83)
mi=60-stat(84)
s=60-stat(85)
end
function _draw()
cls()
print(m)
print(d)
print(h)
print(mi)
print(s)
sprint('hi',56,20)
sprint('it seems you only have',20,40)
sprint(d..' days '..h..':'..mi..':'..s,30,64)
sprint('to live',47,80)
end
function sprint(s,x,y)
print(s,x,y,1)
print(s,x-1,y-1,8)
end
__gfx__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

19
untitled_2.p8 Normal file
View File

@@ -0,0 +1,19 @@
pico-8 cartridge // http://www.pico-8.com
version 42
__gfx__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000004000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000
00700700004444000040000000000000000004000044440000444400004444000040000000400000000000000040040000400000040004000000000000444400
00077000004004000040000000000000004444000040000000400000004000000040040000000000000040000040400000400000044044000040040000400400
00077000004004000044440000444400004004000044440000444000004000000040040000400000000040000044000000400000040404000044040000400400
00700700004444000040040000400000004004000040000000400000004044000044440000400000000040000040400000400000040004000040440000400400
00000000004004000040040000400000004004000040000000400000004004000040040000400000000040000040040000400000040004000040040000400400
00000000004004000044440000444400004444000044440000400000004444000040040000400000004400000040040000444400040004000040040000444400
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000004444000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00444000004004000044440000444000044444000040040004400040040000440440000004400400000000000000000000000000000000000000000000000000
00404000004004000040040000400000000400000040040000400440040440400044044000440400004444000000000000000000000000000000000000000000
00444000004044000044440000400000000400000040040000440400040444400004400000040400000004000000000000000000000000000000000000000000
00400000004444400040400000444400000400000040040000044400040404400044440000004400000040000000000000000000000000000000000000000000
00400000000004000040040000000400000400000044040000004000004404000440044000004000000400000000000000000000000000000000000000000000
00400000000000000040040000444400000400000004440000004000004404000000004000044000004444000000000000000000000000000000000000000000

518
zeldagochi.p8 Normal file
View File

@@ -0,0 +1,518 @@
pico-8 cartridge // http://www.pico-8.com
version 42
__lua__
-- notes about memory layout
--0 is flag if time has
--been set yet
--1 is the start date i think
--2 is the start time i think
--10 and onward gonna use
--for persistent storage of
--the kid stuff
--10 is the modifier
function _init()
printh("init")
cartdata("savedgame")
timeset = dget(0)
stime=dt:new()
if (timeset==0) then
stime:from(currenttime())
printh("save:"..stime:tostring())
stime:save()
else
stime:read()
printh("read:"..stime:tostring())
-- printh("starttime = ".. )
end
cls()
-- printh("goaltime"..goaltime)
m:draw()
ui:draw()
end
function _update60()
ctime=dt:new()
m:update()
ctime:from(currenttime())
if (btn(⬆️)) and
(btn(⬇️)) and
(btn(⬅️)) and
(btn(➡️)) and
(btn(❎)) and
(btn(🅾️)) then
dset(10,0) --reset kid state
dset(0,0) --reset timesaved flag
printh("save reset")
end
k:update(stime,ctimed)
k:save()
state[stated]:update()
end
function _draw()
state[stated]:draw()
end
-->8
p = { --player
s=0,
x=64,
y=64,
w=8,
h=8,
s=1,
xv = 0,
yv = 0,
draw = function(self)
spr(s,self.x,self.y)
end,
input = function(self, xv, yv)
self.xv = xv
self.yv = yv
end,
move = function(self)
if not (hitx(self.x+self.xv,self.y,self.w,self.h)) then
self.x+= self.xv
end
if not (hity(self.x,self.y+self.yv,self.w,self.h)) then
self.y+= self.yv
end
end
}
k={ --him
s=1,
x=196,
y=64,
m=1, --modifier
t = 0,
growtime=3.600,
update = function(self,start,current)
self.m = dget(10) --get last m
temp = tts()
self.t=temp-self.m
if (self.t<0) then
self.t=0
self.m=0
dset(10,self.m)
end
pa = self.t/self.growtime
if (self.t<self.growtime) then
self.s=3*pa+1
else
self.s=4
end
if flr(p.x/8)==flr(self.x/8) and flr(p.y/8)==flr(self.y/8) then
self.x=64+(128*(flr(rnd(2))))
self.y=64+(128*(flr(rnd(2))))
self.m+=1
fx=3/self.growtime*self.t
printh(fx)
sfx(flr(3/self.growtime*self.t),-1,0,0)
end
end,
draw = function(self)
spr(self.s,self.x,self.y)
end,
save=function(self)
dset(10,self.m)
end
}
-->8
m = { --map
cx=0,--camera x
cy=0,--camera y
--camera velocity
cvx=0,
cvy=0,
--target x and y
tx=0,
ty=0,
t=false,--transition
update= function(self)
tile = (mget(p.x/8,p.y/8))
f=fget(tile)
if (f>1) then
printh(f)
printh(p.x)
printh(p.y)
self.t = true
if ((f & 0x2)!=0) then
--n
printh("n")
self.cy-=128
p.y-=16
elseif ((f&0x4)!=0) then
--e
self.cx+=128
p.x+=16
printh("e")
elseif ((f&0x8)!=0) then
--s
printh("s")
self.cy+=128
p.y+=16
else
--w
self.cx-=128
p.x-=16
printh("oops")
end
else
self.t=false
end
end,
draw = function(self)
cls()
camera(self.cx,self.cy)
map()
end
}
dt = {
s=0,
m=0,
h=0,
d=0,
mo=0,
y=0,
tostring=
function(self)
return self.s..":"
..self.m..":"
..self.h.." "
..self.d.."-"
..self.mo.."-"
..self.y
end,
from=function(self, obj)
self.s = obj.s
self.m = obj.m
self.h = obj.h
self.d = obj.d
self.mo = obj.mo
self.y = obj.y
end,
save=function(self)
-- dset(1,self:dat())
-- dset(2,self:tim())
dset(0,1)
dset(1, self.s)
dset(2, self.m)
dset(3, self.h)
dset(4, self.d)
dset(5, self.mo)
dset(6, self.y)
end,
read=function(self)
self.s=dget(1)
self.m=dget(2)
self.h=dget(3)
self.d=dget(4)
self.mo=dget(5)
self.y=dget(6)
end,
dat=function(self)
return self.y*10+self.mo/10+self.d/1000
end,
tim=function(self)
return self.h*100+self.m+self.s/100
end,
tdiff=function(self,obj)
return self:tim()-obj:tim()
end,
ddiff=function(self,obj)
return self:dat()-obj:dat()
end
}
function dt:new(obj)
obj = obj or {}
setmetatable(obj, {__index = self})
return obj
end
-->8
-- check hit on top or bottom
function hity(x,y,w,h) --check hit on top or bottom
hit=false
for i=x,x+w do
tile1=mget(i/8,y/8)
tile2=mget(i/8,(y+h)/8)
if (fget(tile1,0)) then
hit=true
elseif (fget(tile2,0)) then
hit=true
end
end
return hit
end
--check hit on sides
function hitx(x,y,w,h) --check hit on sides
hit = false
for i=y,y+h do
tile1=mget(x/8,i/8)
tile2=mget((x+w)/8,i/8)
if (fget(tile1,0)) then
hit=true
elseif (fget(tile2,0)) then
hit=true
end
end
return hit
end
-- returns the current time.
--i have to split it up fml
function currenttime()
t = {
s=stat(95),
m=stat(94),
h=stat(93),
d=stat(92),
mo=stat(91),
y=stat(90)
}
return t
end
--timetosec
function tts()
temp = (ctime.s-stime.s)/1000
temp += (ctime.m-stime.m)*.06
temp += (ctime.h-stime.h)*3.6
temp += (ctime.d-stime.d)*86.4
temp += (ctime.mo-stime.mo)*1036.8
if (temp > 32767.99)
or ((ctime.y-stime.y)>0)
then
stated = 3 --game over
end
return temp
end
-->8
state={
{--1 menu
update=function(self)
--pause toggle
if (btnp(❎)) then
stated=2
end
end,
draw=function(self)
ui:draw()
end
},
{--2 gameplay
update=function(self)
if (btn(🅾️)) printh(ctime:tostring())
xv = 0
yv = 0
if (btn(➡️)) xv+=p.s
if (btn(⬅️)) xv-=p.s
if (btn(⬆️)) yv-=p.s
if (btn(⬇️)) yv+=p.s
p:input(xv,yv)
p:move()
--pause toggle
if (btnp(❎)) then
stated=1
end
end,
draw=function(self)
m:draw()
p:draw()
k:draw()
end
},
{ --3 game over
update=function(self)
end,
draw=function(self)
cls()
print("you lose... the creature grew too much")
print("hold ⬆️⬇️⬅️➡️❎🅾️ to reset save")
end,
},
{--4 intro
update=function(self)
if (btnp(❎)) stated=2
end,
draw=function(self)
cls()
x=rnd(2)
y=rnd(2)
if (timeset==0) then
print("the is growing",0,0,7)
print("creature",x+16,y+1,2)
print("creature",x+16,y,8)
else
print("the growth never stops",0,0,7)
print("creature's",x+16,y+1,2)
print("creature's",x+16,y,8)
end
print(" seeks comfort.",0,8,7)
print("it",x,7+y,2)
print("it",x,8+y,8)
print("find .",0,16,7)
print("it",x+18,15+y,2)
print("it",x+18,16+y,8)
print("soothe .",0,24,7)
print("it",x+27,23+y,2)
print("it",x+27,24+y,8)
print("pres x to continue",0,80,7)
print(k.t)
end,
}
}
-->8
ui = {
elements={
kidgrowth={
text="-his- growth%: ",
x=40,
y=64,
c=7, --color
w=20,
h=20,
draw=function(self)
print(self.text..k.t/k.growtime*100,self.x, self.y, self.c)
end
},
kidalive={
text="your kid's been alive for: ",
x=0,
y=4,
c=7, --color
w=20,
h=20,
draw=function(self)
print(self.text,self.x, self.y, self.c)
print(k.t.."s",self.x, self.y+8, self.c)
end
},
testing={
text="-his- state: ",
x=40,
y=72,
c=7, --color
w=20,
h=20,
draw=function(self)
print(self.text..k.m,self.x, self.y, self.c)
end
}
},
draw= function(self)
cls()--clear screen
camera() --reset the camera to default pos
rectfill(0,0,128,128,1)
for k,v in pairs(self.elements) do
v:draw()
end
end
}
-->8
--global vars
stated=4
twodays=172800
timescale=1
stime={}
ctime={}
timeset=0
__gfx__
00000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000001111110166116610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000011110001611610166116610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000110000011610001612610166116610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000110000011110001111110111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000011110001211110111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000001111110111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222555555555555555555555554555555554444444455555555555444445555555544445555000000000000000000000000000000000000000000000000
2222222256dddd655555555555555554555555555555555555555555555444445555555544445555000000000000000000000000000000000000000000000000
222222225dddddd55555555555555554555555555555555555555555555444445555555544445555000000000000000000000000000000000000000000000000
222222225dddddd55555555555555554555555555555555544444555555444445555555544445555000000000000000000000000000000000000000000000000
222222225dddddd55555555555555554555555555555555544444555555444445554444455555555000000000000000000000000000000000000000000000000
222222225dddddd55555555555555554555555555555555544444555555555555554444455555555000000000000000000000000000000000000000000000000
2222222256dddd655555555555555554555555555555555544444555555555555554444455555555000000000000000000000000000000000000000000000000
22222222555555555555555555555554444444445555555544444555555555555554444455555555000000000000000000000000000000000000000000000000
22222222007777002222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222007777002222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222077cc7702211112222111122221111222211112200000000000000000000000000000000000000000000000000000000000000000000000000000000
2222222207cccc702212212222122122221221222212212200000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222077777702212212222122122221221222212212200000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222077777702211112222111122221111222211112200000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222077777702222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222007777002222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000
__gff__
0000000000000000000000000000000000010101010101010101000000000000000002040810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010102325101010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010102325101010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010102325101010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111110101010111111111111111111111111111010101011111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111124242424111111111111111111111111112424242411111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111122222222111111111111111111111111112222222211111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111110101010111111111111111111111111111010101011111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010102325101010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010102325101010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
000200000251002510085103a310363202c3201f3300f33039330263302131014420032200b2203042034220184202422016420164200352021520194202e52013520174200c5300742008420014201151000000
000200000a3200a3200a3200a3200a3200a3200a3100b3100c3100d3100f310113101231015310183101c3201f3201e2202023021230202301f2301e2201c2201b2221a6221762215620146200a6200062000000
000200000437004370043700437004360043600436004360043600936009360083600837007370063700637006370063700637005370053700537004370043700436004360053700537005370000700000000000