|
@@ -11,14 +11,15 @@ x=96
|
|
y=24
|
|
y=24
|
|
|
|
|
|
local player = {
|
|
local player = {
|
|
- screenx=0,
|
|
|
|
- screeny=0,
|
|
|
|
|
|
+ screenx=110,
|
|
|
|
+ screeny=80,
|
|
spr=0,
|
|
spr=0,
|
|
spr_base=256,
|
|
spr_base=256,
|
|
flip=0,
|
|
flip=0,
|
|
cnt_run=0,
|
|
cnt_run=0,
|
|
cnt_fire=0,
|
|
cnt_fire=0,
|
|
- frames_run={258,260,262,260}
|
|
|
|
|
|
+ frames_run={258,260,262,260},
|
|
|
|
+ frame_slide=266,
|
|
}
|
|
}
|
|
|
|
|
|
function BOOT()
|
|
function BOOT()
|
|
@@ -26,36 +27,50 @@ function BOOT()
|
|
end
|
|
end
|
|
|
|
|
|
function update()
|
|
function update()
|
|
- -- if btn(0) then y=y-1 end
|
|
|
|
- -- if btn(1) then y=y+1 end
|
|
|
|
|
|
+ local is_running = false
|
|
|
|
+
|
|
if btn(2) then
|
|
if btn(2) then
|
|
player.cnt_run = player.cnt_run + 1
|
|
player.cnt_run = player.cnt_run + 1
|
|
player.flip = 1
|
|
player.flip = 1
|
|
|
|
+ is_running = true
|
|
end
|
|
end
|
|
if btn(3) then
|
|
if btn(3) then
|
|
player.cnt_run = player.cnt_run + 1
|
|
player.cnt_run = player.cnt_run + 1
|
|
player.flip = 0
|
|
player.flip = 0
|
|
|
|
+ is_running = true
|
|
end
|
|
end
|
|
if btn(4) then
|
|
if btn(4) then
|
|
- player.cnt_fire = 30
|
|
|
|
|
|
+ player.cnt_fire = 10
|
|
else
|
|
else
|
|
player.cnt_fire = player.cnt_fire - 1
|
|
player.cnt_fire = player.cnt_fire - 1
|
|
end
|
|
end
|
|
|
|
|
|
|
|
+ -- reset run counter if not pressing a button
|
|
|
|
+ if not is_running then player.cnt_run = 0 end
|
|
|
|
+
|
|
local spr_offset = 0
|
|
local spr_offset = 0
|
|
if player.cnt_run > 0 then
|
|
if player.cnt_run > 0 then
|
|
spr_offset = ((player.cnt_run // 6) % 4) + 1
|
|
spr_offset = ((player.cnt_run // 6) % 4) + 1
|
|
player.spr = player.frames_run[spr_offset]
|
|
player.spr = player.frames_run[spr_offset]
|
|
|
|
+ else
|
|
|
|
+ player.spr = player.spr_base
|
|
end
|
|
end
|
|
|
|
|
|
if player.cnt_fire > 0 then
|
|
if player.cnt_fire > 0 then
|
|
- spr_offset = 32 + spr_offset
|
|
|
|
|
|
+ player.spr = player.spr + 32
|
|
end
|
|
end
|
|
|
|
|
|
end
|
|
end
|
|
|
|
|
|
function draw_player(colorkey)
|
|
function draw_player(colorkey)
|
|
spr(player.spr, player.screenx, player.screeny, colorkey, 1, player.flip, 0, 2, 2)
|
|
spr(player.spr, player.screenx, player.screeny, colorkey, 1, player.flip, 0, 2, 2)
|
|
|
|
+ if player.cnt_fire > 8 then
|
|
|
|
+ if player.flip == 1 then
|
|
|
|
+ spr(270, player.screenx, player.screeny+2, colorkey, 1, player.flip)
|
|
|
|
+ else
|
|
|
|
+ spr(270, player.screenx+8, player.screeny+2, colorkey, 1, player.flip)
|
|
|
|
+ end
|
|
|
|
+ end
|
|
end
|
|
end
|
|
|
|
|
|
function TIC()
|
|
function TIC()
|
|
@@ -86,8 +101,8 @@ end
|
|
-- 011:5555555555555555555555555555555555555555555555550555555500005555
|
|
-- 011:5555555555555555555555555555555555555555555555550555555500005555
|
|
-- 012:55089000550990ab5509b9bb550b99bb550bb9aa5500b99955509b9955500b99
|
|
-- 012:55089000550990ab5509b9bb550b99bb550bb9aa5500b99955509b9955500b99
|
|
-- 013:00555555a00555559a0055559990555599b0555599b005559b9905559b990555
|
|
-- 013:00555555a00555559a0055559990555599b0555599b005559b9905559b990555
|
|
--- 014:5555555555555555555555555555555555555555555555555555555555555555
|
|
|
|
--- 015:5555555555555555555555555555555555555555555555555555555555555555
|
|
|
|
|
|
+-- 014:555555555ab555555cb5555555b555555c5555555555bc555555abc555555b55
|
|
|
|
+-- 015:5ff55555fccf5555fccf55555ff5555555555555555555555555555555555555
|
|
-- 016:55000bbb5509b0bb5509909955099b99550000bb555009995550999955509988
|
|
-- 016:55000bbb5509b0bb5509909955099b99550000bb555009995550999955509988
|
|
-- 017:bb000555b0b90555909905559b990555b00005559a0555559900555599a05555
|
|
-- 017:bb000555b0b90555909905559b990555b00005559a0555559900555599a05555
|
|
-- 018:509bbb9950990bbb509900bb5500bb995009ab9b509999095000000955555508
|
|
-- 018:509bbb9950990bbb509900bb5500bb995009ab9b509999095000000955555508
|
|
@@ -96,14 +111,14 @@ end
|
|
-- 021:b0555555b005555599055555b9055555a005555590555555900555559a055555
|
|
-- 021:b0555555b005555599055555b9055555a005555590555555900555559a055555
|
|
-- 022:5009bbb9509b0bbb509900bb50000b99009abb99099999000009900055000050
|
|
-- 022:5009bbb9509b0bbb509900bb50000b99009abb99099999000009900055000050
|
|
-- 023:40055555b9905555b990555500055555bba055559990555599905555899a0555
|
|
-- 023:40055555b9905555b990555500055555bba055559990555599905555899a0555
|
|
--- 024:55500bbb555500bb5555009955550b9955550bb055009ab55509990555099805
|
|
|
|
|
|
+-- 024:55500bbb555500bb5555009955550b9955550bb055009ab05509990555099805
|
|
-- 025:bb005555b00555559bb005559bba055509990555099905550999a05500000055
|
|
-- 025:bb005555b00555559bb005559bba055509990555099905550999a05500000055
|
|
-- 026:5099999950b999bb50b994f4550b94445000994b509bbbbb00990bb909980099
|
|
-- 026:5099999950b999bb50b994f4550b94445000994b509bbbbb00990bb909980099
|
|
-- 027:99a055559b9005559b990055b999a055bb99900099b999a09bb9999090089900
|
|
-- 027:99a055559b9005559b990055b999a055bb99900099b999a09bb9999090089900
|
|
-- 028:555500bb555550bb5555009955550b9955500bb0555099b05550989055508880
|
|
-- 028:555500bb555550bb5555009955550b9955500bb0555099b05550989055508880
|
|
-- 029:bbb90555bb005555abba05559999055508890555089905555099055550000555
|
|
-- 029:bbb90555bb005555abba05559999055508890555089905555099055550000555
|
|
--- 030:5555555555555555555555555555555555555555555555555555555555555555
|
|
|
|
--- 031:5555555555555555555555555555555555555555555555555555555555555555
|
|
|
|
|
|
+-- 030:5fff5555fcccf555fcccf5555fff555555555555555555555555555555555555
|
|
|
|
+-- 031:55ffff555f5555f5f55ff55ff5fccf5ff5fccf5ff55ff55f5f5555f555ffff55
|
|
-- 032:55555000555500bb55500999555099995550b9995550b99455500b9455509b99
|
|
-- 032:55555000555500bb55500999555099995550b9995550b99455500b9455509b99
|
|
-- 033:00555555b0055555ab00555599905555bb905555f49055554400000540009a00
|
|
-- 033:00555555b0055555ab00555599905555bb905555f49055554400000540009a00
|
|
-- 034:5555555555555000555500bb55500999555099995550b9995550b99450000b94
|
|
-- 034:5555555555555000555500bb55500999555099995550b9995550b99450000b94
|
|
@@ -114,24 +129,24 @@ end
|
|
-- 039:5555555500555555b0055555ab00555599905555bb905555f490555544000005
|
|
-- 039:5555555500555555b0055555ab00555599905555bb905555f490555544000005
|
|
-- 040:55555000555500bb5000099950990999509909995099b99450099b945500bb99
|
|
-- 040:55555000555500bb5000099950990999509909995099b99450099b945500bb99
|
|
-- 041:00555555b0055555ab00555599905555bb905555f4905555440000054b009a00
|
|
-- 041:00555555b0055555ab00555599905555bb905555f4905555440000054b009a00
|
|
--- 042:5555555555555555555555555555555555555555555555555555555555555555
|
|
|
|
--- 043:5555555555555555555555555555555555555555555555555555555555555555
|
|
|
|
|
|
+-- 042:55555000555500bb55500a99555099995550b9995550b99455500b9455550099
|
|
|
|
+-- 043:00555555b0055555ab00555599a05555bb905555349055554400555540055555
|
|
-- 044:55099000550990bb5509bb99550bb999550b9bb955009bb95550b9bb55500b99
|
|
-- 044:55099000550990bb5509bb99550bb999550b9bb955009bb95550b9bb55500b99
|
|
-- 045:00555555b0055555ab055555990055559bb05555f490000544009a009bb999a0
|
|
-- 045:00555555b0055555ab055555990055559bb05555f490000544009a009bb999a0
|
|
--- 046:5555555555555555555555555555555555555555555555555555555555555555
|
|
|
|
|
|
+-- 046:5fffff55faafaaf5fafbfaf5faafaaf55fffff55555555555555555555555555
|
|
-- 047:5555555555555555555555555555555555555555555555555555555555555555
|
|
-- 047:5555555555555555555555555555555555555555555555555555555555555555
|
|
-- 048:5550bbbb555099bb555099995550bb9955509b9b550099005509990555099805
|
|
-- 048:5550bbbb555099bb555099995550bb9955509b9b550099005509990555099805
|
|
-- 049:bbb999a0b00b990000500005bb005555bba055559990555599900555899a0555
|
|
-- 049:bbb999a0b00b990000500005bb005555bba055559990555599900555899a0555
|
|
--- 050:509bbb9950995bbb509900bb5500bb995009ab9b509999095000000955555508
|
|
|
|
|
|
+-- 050:509bbb9950990bbb509900bb5500bb995009ab9b509999095000000955555508
|
|
-- 051:40009a00bbb999a0b000990000550005aa055555990555559900555599a05555
|
|
-- 051:40009a00bbb999a0b000990000550005aa055555990555559900555599a05555
|
|
--- 052:55500bbb5550b5bb5550b99955509999555099bb555099995550909955500089
|
|
|
|
|
|
+-- 052:55500bbb5550b0bb5550b99955509999555099bb555099995550909955500089
|
|
-- 053:bbb999a0b000990090550005b9055555a005555590555555900555559a055555
|
|
-- 053:bbb999a0b000990090550005b9055555a005555590555555900555559a055555
|
|
-- 054:55550bb955550bbb555550bb50000b99009abb99099999000009900055000050
|
|
-- 054:55550bb955550bbb555550bb50000b99009abb99099999000009900055000050
|
|
-- 055:40009a00b99999a0b990990000050005bba055559990555599905555899a0555
|
|
-- 055:40009a00b99999a0b990990000050005bba055559990555599905555899a0555
|
|
-- 056:55500bbb555500bb5555509955550b9955550bb055009ab05509990555099805
|
|
-- 056:55500bbb555500bb5555509955550b9955550bb055009ab05509990555099805
|
|
-- 057:bbb999a0b00099009bb000059bba055509990555099905550999a05500000055
|
|
-- 057:bbb999a0b00099009bb000059bba055509990555099905550999a05500000055
|
|
--- 058:5555555555555555555555555555555555555555555555555555555555555555
|
|
|
|
--- 059:5555555555555555555555555555555555555555555555555555555555555555
|
|
|
|
|
|
+-- 058:55000bbb5509b0bb5509909955099b99550000bb555009995550999955509988
|
|
|
|
+-- 059:bb000555b0b90555909905559b990555b00005559a0555559900555599a05555
|
|
-- 060:555500bb555550bb5555009955550b9955500bb0555099b05550989055508880
|
|
-- 060:555500bb555550bb5555009955550b9955500bb0555099b05550989055508880
|
|
-- 061:bb009900bb000055abba05559999055508890555089905555099055550000555
|
|
-- 061:bb009900bb000055abba05559999055508890555089905555099055550000555
|
|
-- 062:5555555555555555555555555555555555555555555555555555555555555555
|
|
-- 062:5555555555555555555555555555555555555555555555555555555555555555
|