Files
pico-8/cards/cave.p8
2026-02-01 16:21:46 +01:00

123 lines
3.1 KiB
Lua
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
pico-8 cartridge // http://www.pico-8.com
version 42
__lua__
function _init()
game_over=false
make_cave()
make_player()
end
function _update()
if (not game_over) then
update_cave()
move_player()
check_hit()
else
if (btnp(5)) _init()
end
end
function _draw()
cls()
draw_cave()
draw_player()
if (game_over) then
print("game over!",44,44,7)
print("your scrore:"..player.score,34,54,7)
print("press ❎ to play again!",18,72,6)
else
print("score:"..player.score,2,2,7)
end
end
-->8
function make_player()
player={}
player.x=24
player.y=60
player.dy=0
player.rise=1
player.fall=2
player.dead=3
player.speed=2
player.score=0
end
function draw_player()
sprite=1
if (game_over) then
sprite=player.dead
elseif (player.dy<0) then
sprite=player.rise
else
sprite=player.fall
end
spr(sprite,player.x,player.y)
end
function move_player()
gravity=0.2
player.dy+=gravity
if (btnp()) then
player.dy-=3
sfx(0)
end
player.y+=player.dy
player.score+=player.speed
end
function check_hit()
for i=player.x,player.x+7 do
if (cave[i+1].top>player.y) or (cave[i+1].btm<player.y) then
game_over=true
sfx(1)
end
end
end
-->8
function make_cave()
cave={{["top"]=4,["btm"]=119}}
top=45
btm=85
end
function update_cave()
if(#cave>player.speed) then
for i=1,player.speed do
del(cave,cave[1])
end
end
while (#cave<128) do
local col={}
local up=flr(rnd(7)-3)
local down=flr(rnd(7)-3)
col.top=mid(3,cave[#cave].top+up,top)
col.btm=mid(btm,cave[#cave].btm+down,124)
add(cave,col)
end
end
function draw_cave()
top_color=5
btm_color=5
for i=1,#cave do
line(i-1,0,i-1,cave[i].top,top_color)
line(i-1,127,i-1,cave[i].btm,btm_color)
end
end
__gfx__
0000000000aaaa0000aaaa0000888800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000aaaaaa00aaaaaa008888880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700aa0aa0aaaa0aa0aa88888888000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000aaaaaaaaaaaaaaaa88988988000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000aaaaaaaaaaaaaaaa88888888000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700aa0000aaaaa00aaa88899888000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000aa00aa00aa00aa008988980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000aaaa0000aaaa0000888800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
000400001105012050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000a00002c05000000260501e0001f050070400704008040070300803008030070300801008010070100700000000000000000000000000000000000000000000000000000000000000000000000000000000000