getting weird in l3
This commit is contained in:
parent
93952ad87e
commit
8936be9402
84
toomgis.p8
84
toomgis.p8
@ -13,6 +13,8 @@ function _draw()
|
|||||||
ampm_draw()
|
ampm_draw()
|
||||||
elseif state == "level" then
|
elseif state == "level" then
|
||||||
level_draw()
|
level_draw()
|
||||||
|
-- DEBUG
|
||||||
|
print(px, 0, 120, 7)
|
||||||
elseif state == "gameover" then
|
elseif state == "gameover" then
|
||||||
gameover_draw()
|
gameover_draw()
|
||||||
elseif state == "winscreen" then
|
elseif state == "winscreen" then
|
||||||
@ -170,8 +172,12 @@ end
|
|||||||
|
|
||||||
function toomgis_upd()
|
function toomgis_upd()
|
||||||
tangle += vx * 0.01
|
tangle += vx * 0.01
|
||||||
px += vx
|
-- throttle controls half, normal, double speed keep lower bound, not upper
|
||||||
|
px += max(vx * throttle, min_speed)
|
||||||
py = max(0, py+vy)
|
py = max(0, py+vy)
|
||||||
|
if px < 2000 then
|
||||||
|
px = 2000
|
||||||
|
end -- DEBUG
|
||||||
if px >= 10000 then
|
if px >= 10000 then
|
||||||
px = 0
|
px = 0
|
||||||
reset_items()
|
reset_items()
|
||||||
@ -198,6 +204,7 @@ end
|
|||||||
levels = {
|
levels = {
|
||||||
{
|
{
|
||||||
mapy=1,
|
mapy=1,
|
||||||
|
maph=4,
|
||||||
bad_item_ratio=0.08,
|
bad_item_ratio=0.08,
|
||||||
unit="CM",
|
unit="CM",
|
||||||
time=120,
|
time=120,
|
||||||
@ -205,6 +212,7 @@ levels = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
mapy=5,
|
mapy=5,
|
||||||
|
maph=4,
|
||||||
bad_item_ratio=0.12,
|
bad_item_ratio=0.12,
|
||||||
unit="M",
|
unit="M",
|
||||||
time=90,
|
time=90,
|
||||||
@ -212,15 +220,17 @@ levels = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
mapy=9,
|
mapy=9,
|
||||||
|
maph=6,
|
||||||
bad_item_ratio=0.18,
|
bad_item_ratio=0.18,
|
||||||
unit="KM",
|
unit="KM",
|
||||||
time=90,
|
time=120,
|
||||||
next=nil,
|
next=nil,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
horizon = 64
|
horizon = 64
|
||||||
min_speed = 1
|
min_speed = 1
|
||||||
max_speed = 4
|
max_speed = 4
|
||||||
|
throttle = 1
|
||||||
|
|
||||||
|
|
||||||
function start_level(n)
|
function start_level(n)
|
||||||
@ -232,6 +242,7 @@ function start_level(n)
|
|||||||
py = 0
|
py = 0
|
||||||
vx = min_speed
|
vx = min_speed
|
||||||
vy = 0
|
vy = 0
|
||||||
|
throttle = 0
|
||||||
yacc = 0
|
yacc = 0
|
||||||
streak = 0
|
streak = 0
|
||||||
warnings = 0
|
warnings = 0
|
||||||
@ -260,33 +271,64 @@ function fancy_background()
|
|||||||
local cx2 = 108
|
local cx2 = 108
|
||||||
local cy = 40
|
local cy = 40
|
||||||
|
|
||||||
for a=0,120,10 do
|
-- for a=0,120,10 do
|
||||||
line(0, a, 128, a, 11)
|
-- line(0, a, 128, a, 11)
|
||||||
line(a, 0, a, 128, 11)
|
-- line(a, 0, a, 128, 11)
|
||||||
end
|
-- end
|
||||||
|
|
||||||
for i=0,8 do
|
for i=0,8 do
|
||||||
local x = 20*cos((i+t())/8)
|
local x = 20*cos((i+t())/8)
|
||||||
local y = 30*sin((i+t())/8)
|
local y = 30*sin((i+t())/8)
|
||||||
line(cx1+x, cy+y, cx2+x, cy-y, 9)
|
line(cx1+x, cy+y, cx2+x, cy-y, 9)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if px < 3000 then
|
||||||
|
print("behold... my true form is unknowable", 0, 50, 9)
|
||||||
|
elseif px < 4000 then
|
||||||
|
print("you have OUR attention", 10, 50, 9)
|
||||||
|
elseif px < 5000 then
|
||||||
|
print("finish your meal", 10, 50, 9)
|
||||||
|
elseif px < 6000 then
|
||||||
|
print("and then i will show you", 10, 50, 9)
|
||||||
|
elseif px < 7000 then
|
||||||
|
print("entire worlds", 40, 50, 9)
|
||||||
|
elseif px < 8000 then
|
||||||
|
print("in need of...", 40, 50, 9)
|
||||||
|
elseif px < 9000 then
|
||||||
|
print("a fresh start", 0, 50, 9)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
function level_bg(unit)
|
||||||
|
if unit == "CM" then
|
||||||
|
cls(7)
|
||||||
|
elseif unit == "M" then
|
||||||
|
if px < 2000 then
|
||||||
|
cls(12)
|
||||||
|
elseif px < 4000 then
|
||||||
|
cls(140)
|
||||||
|
elseif px < 6000 then
|
||||||
|
cls(2)
|
||||||
|
else
|
||||||
|
cls(1)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
cls(0)
|
||||||
|
if px < 2000 then
|
||||||
|
cls(1)
|
||||||
|
else
|
||||||
|
fancy_background()
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function level_draw()
|
function level_draw()
|
||||||
|
level_bg(lvl.unit)
|
||||||
-- each level is 4tl/32px
|
-- each level is 4tl/32px
|
||||||
if px < 2000 then
|
|
||||||
cls(12)
|
|
||||||
elseif px < 4000 then
|
|
||||||
cls(140)
|
|
||||||
elseif px < 6000 then
|
|
||||||
cls(2)
|
|
||||||
else
|
|
||||||
cls(1)
|
|
||||||
end
|
|
||||||
--fancy_background()
|
|
||||||
--- zoom should go from 16 to 1 w/ growth
|
--- zoom should go from 16 to 1 w/ growth
|
||||||
local zoom = 16 - (15 * -sin(#tbody / MAX_PIECES / 4))
|
local zoom = 16 - (15 * -sin(#tbody / MAX_PIECES / 4))
|
||||||
local h=32 * zoom
|
local h=lvl.maph * 8 * zoom
|
||||||
for y=0,h do
|
for y=0,h do
|
||||||
tline(0, 128-h+y, 128, 128-h+y, -- screen coordinates (entire screen scanlines)
|
tline(0, 128-h+y, 128, 128-h+y, -- screen coordinates (entire screen scanlines)
|
||||||
px/100, lvl.mapy+y/(8*zoom), 1/(8*zoom), 0)
|
px/100, lvl.mapy+y/(8*zoom), 1/(8*zoom), 0)
|
||||||
@ -401,6 +443,14 @@ function level_upd()
|
|||||||
vy = 0
|
vy = 0
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if btn(⬅️) then
|
||||||
|
throttle = 0.5
|
||||||
|
elseif btn(➡️) then
|
||||||
|
throttle = 2
|
||||||
|
else
|
||||||
|
throttle = 1
|
||||||
|
end
|
||||||
|
|
||||||
if btnp(⬆️) then
|
if btnp(⬆️) then
|
||||||
-- DEBUG
|
-- DEBUG
|
||||||
start_level(lvl.next)
|
start_level(lvl.next)
|
||||||
|
Loading…
Reference in New Issue
Block a user