pico-8/picogora.p8
2021-06-10 16:53:56 -04:00

133 lines
2.5 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 32
__lua__
-- game code
bg = 12
function init_world()
player = {}
player.x = 64
player.y = 16
player.spr = 1
drops = {}
ramps = {}
add_ramp(50,20,15,10)
add_ramp(60,50,15,-15)
add_ramp(50,60,20,0)
end
function _init()
-- button-press initial delay
poke(0x5f5c, 1)
-- button-press repeat
poke(0x5f5d, 2)
init_world()
end
function _update()
update_player()
update_drops()
end
function add_ramp(x,y,dx,dy)
r = {}
r.x = x
r.y = y
r.dx = dx
r.dy = dy
add(ramps, r)
end
function update_player()
if btn(0) then
player.x -= 1
end
if btn(1) then
player.x += 1
end
if btn(2) then
player.y -= 1
end
if btn(3) then
player.y += 1
end
if (player.y < 0) player.y = 0
if (player.y > 127) player.y = 127
if (player.x < 0) player.x = 0
if (player.x > 127) player.x = 127
if btnp(🅾) then
drop = {}
drop.x = player.x
drop.y = player.y
add(drops, drop)
end
end
function update_drops()
draw_world()
new_drops = {}
for i=1,#drops do
drop = drops[i]
drop.y += 1
if drop.y < 128 then
add(new_drops, drop)
end
end
drops = new_drops
end
function _draw()
draw_world()
spr(player.spr,player.x-1,player.y-1)
print("drops: "..#drops, 1, 6, white)
end
function draw_world()
cls(bg)
foreach(drops, draw_drop)
foreach(ramps, draw_ramp)
end
function draw_ramp(r)
line(r.x,r.y,r.x+r.dx,r.y+r.dy,brown)
end
function draw_drop(drop)
pset(drop.x, drop.y, white)
end
-->8
-- library
black = 0
dark_blue = 1
dark_purple = 2
dark_green = 3
brown = 4
dark_gray = 5
light_gray = 6
white = 7
red = 8
orange = 9
yellow = 10
green = 11
blue = 12
indigo = 13
pink = 14
peach = 15
function print_ctr(s,y,c)
print(s,64 - #s * 2,y,c)
end
__gfx__
000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000aaa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
007007000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000