- [NEW] animated tiles

This commit is contained in:
2022-10-24 16:34:13 +02:00
parent adc89cf11c
commit 1f002c5488
6 changed files with 88 additions and 80 deletions

View File

@@ -1,5 +1,5 @@
abad={x=24,y=24,flip=false,frame=1,wait=0,hab=0,vides=3,energia=40,step=0,update=nil,jumpfwd=false,anim={0,1,0,2},bb={x=4,y=0,w=8,h=16}} abad={x=40,y=24,flip=false,frame=1,wait=0,hab=10,vides=3,energia=40,step=0,update=nil,jumpfwd=false,anim={0,1,0,2},bb={x=4,y=0,w=8,h=16}}
function abad_init() function abad_init()
abad.update=abad_state_normal abad.update=abad_state_normal

View File

@@ -20,7 +20,7 @@ function _init()
table.insert(actors,premiere) table.insert(actors,premiere)
z = zombie.new() z = zombie.new()
table.insert(actors,z) table.insert(actors,z)
c=caco.new(10,24,16) c=caco.new(11,24,16)
table.insert(actors,c) table.insert(actors,c)
score.create() score.create()
@@ -141,7 +141,8 @@ function update_game()
prnt("x"..abad.vides,114,13,2) prnt("x"..abad.vides,114,13,2)
rectfill(102+(abad.energia>>1),30,122,37,16) rectfill(102+(abad.energia>>1),30,122,37,16)
mapa_update() mapa_update(abad.hab,premiere.hab)
for key,actor in pairs(actors) do for key,actor in pairs(actors) do
actor:update() actor:update()
if actor.hab==cacau.hab and actor~=abad then if actor.hab==cacau.hab and actor~=abad then

130
map.lua
View File

@@ -1,20 +1,20 @@
mapa={ mapa={
-- 1 -- 1
{ {
18,19,20,21,20,21,20,21,18,19,20,21, 256,256,256,18,19,21,20,21,20,21,20,21,
16,72,256,256,256,15,256,256,256,17,256,256, 64,68,256,16,72,256,256,256,256,256,256,256,
16,88,256,256,256,256,256,256,256,17,256,256, 256,256,66,256,88,256,256,70,71,256,256,256,
16,256,256,256,256,256,256,256,256,38,256,256, 256,66,256,16,256,112,256,86,87,256,114,256,
16,256,256,256,256,256,256,256,256,38,256,256, 66,256,256,16,256,256,256,256,256,256,256,256,
20,21,20,21,20,21,20,21,20,21,20,21, 256,64,256,16,20,21,20,21,20,21,20,21,
}, },
-- 2 -- 2
{ {
20,21,20,21,20,21,20,21,20,21,20,21, 20,21,20,21,20,21,20,21,20,21,20,21,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,256,256,256,256,256,256,256,256,256,256,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,73,74,256,256,256,256,73,74,256,256,
256,256,69,256,256,256,69,256,256,256,69,256, 256,256,89,90,256,256,256,256,89,90,256,256,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,256,256,256,256,256,256,256,256,256,256,
20,21,20,21,20,21,21,256,80,17,20,21, 20,21,20,21,20,21,21,256,80,17,20,21,
@@ -23,30 +23,30 @@ mapa={
{ {
20,21,20,21,20,21,20,21,20,21,20,21, 20,21,20,21,20,21,20,21,20,21,20,21,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,256,256,256,256,256,256,256,256,256,256,
256,256,256,256,256,256,256,256,256,256,256,256, 256,96,97,96,256,73,74,256,97,96,96,256,
256,256,256,256,256,256,256,256,256,256,256,256, 256,99,256,100,256,89,90,256,99,256,100,256,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,256,256,256,256,256,256,256,256,256,256,
20,21,20,21,20,21,20,21,20,21,20,21, 20,21,20,21,20,21,20,21,20,21,20,21,
}, },
-- 4 -- 4
{ {
20,21,20,21,20,21,20,21,20,21,20,21, 20,21,20,21,20,21,20,21,20,21,18,19,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,256,256,256,256,256,256,256,256,77,17,
256,256,256,256,256,256,256,256,256,256,256,256, 256,73,74,256,256,73,74,256,98,98,93,17,
256,256,256,256,256,256,256,256,256,256,256,256, 256,89,90,256,256,89,90,256,99,100,256,256,
256,256,256,256,256,256,256,256,10,11,256,256, 256,256,256,256,256,256,256,256,10,11,256,256,
20,21,20,21,20,21,20,21,10,11,20,21, 20,21,20,21,20,21,20,21,10,11,20,21,
}, },
-- 5 -- 5
{ {
20,21,20,21,20,21,20,21,20,21,20,16, 66,256,256,67,256,65,256,64,256,256,256,66,
256,256,256,256,256,256,256,256,256,256,256,16, 256,256,64,256,256,256,256,256,256,68,256,67,
256,256,256,256,256,256,256,256,256,256,256,16, 18,19,18,19,18,19,18,19,256,256,65,256,
256,256,256,256,256,256,256,256,256,256,256,16, 256,256,256,256,256,256,256,256,256,256,256,256,
256,256,256,256,256,256,256,256,256,256,256,16, 256,256,256,256,256,256,256,16,256,64,256,66,
20,21,20,21,20,21,20,21,20,21,20,21, 20,21,20,21,20,21,20,21,256,256,66,256,
}, },
-- 6 -- 6
@@ -101,31 +101,31 @@ mapa={
}, },
-- 11 -- 11
{ {
25,29,28,29,28,29,28,29,28,29,28,29, 256,66,26,27,28,29,28,29,26,27,28,29,
24,256,256,256,256,256,256,256,256,256,256,256, 256,256,256,24,256,256,256,256,15,25,256,256,
24,256,256,256,256,70,71,256,256,256,256,256, 64,68,256,256,256,256,256,256,256,25,256,256,
24,256,256,256,69,86,87,69,256,256,256,256, 256,256,66,24,256,256,256,256,256,38,256,256,
24,256,256,256,256,256,256,256,256,256,256,256, 256,66,256,24,101,102,103,256,256,38,256,256,
28,29,28,29,28,29,28,29,28,29,28,29, 66,256,256,24,28,29,28,29,28,29,28,29,
}, },
-- 12 -- 12
{ {
28,29,28,29,28,29,29,256,256,256,28,29, 28,29,28,29,28,29,29,256,256,256,26,27,
256,256,256,256,256,256,256,256,256,25,256,256, 256,256,256,256,256,256,256,256,256,25,72,256,
256,256,256,256,256,256,256,256,1,256,256,256, 256,256,73,74,256,256,256,256,1,256,88,256,
256,256,256,256,256,256,256,1,256,256,256,256, 256,256,89,90,256,256,256,1,256,256,256,256,
256,256,256,256,256,256,1,256,256,256,256,256, 256,256,256,256,256,256,1,256,256,256,256,256,
28,29,28,29,28,29,28,29,28,29,28,29, 28,29,28,29,28,29,28,29,28,29,28,29,
}, },
-- 13 -- 13
{ {
28,29,28,29,28,29,28,29,28,29,28,29, 28,29,26,27,26,27,28,29,28,29,28,29,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,256,26,27,256,256,256,256,256,256,256,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,256,256,256,256,256,256,73,74,256,256,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,256,98,98,256,256,256,89,90,256,256,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,104,101,102,103,256,256,256,256,256,256,
28,29,28,29,28,29,29,256,81,25,28,29, 28,29,28,29,28,29,29,256,81,25,28,29,
}, },
@@ -133,20 +133,20 @@ mapa={
{ {
28,29,28,29,28,29,28,29,10,11,28,29, 28,29,28,29,28,29,28,29,10,11,28,29,
256,256,256,256,256,256,256,256,10,11,256,256, 256,256,256,256,256,256,256,256,10,11,256,256,
256,256,256,256,256,256,256,256,10,11,256,256, 256,73,74,256,256,256,256,256,10,11,256,256,
256,256,256,256,256,256,256,256,10,11,256,256, 256,89,90,256,256,75,76,256,10,11,256,256,
256,256,256,256,256,256,256,256,10,11,256,256, 256,256,256,256,256,91,92,256,10,11,256,256,
28,29,28,29,28,29,28,29,28,29,28,29, 28,29,28,29,28,29,28,29,28,29,28,29,
}, },
-- 15 -- 15
{ {
28,29,28,29,28,29,28,29,28,29,28,24, 26,27,26,27,28,29,28,29,26,27,26,27,
256,256,256,256,256,256,256,256,256,256,256,24, 28,29,256,256,256,256,256,256,256,256,28,24,
256,256,256,256,256,256,256,256,256,256,256,24, 256,256,256,256,256,73,74,256,256,256,256,24,
256,256,256,256,256,256,256,256,256,256,256,24, 256,256,75,76,256,89,90,256,75,76,256,24,
256,256,256,256,256,256,256,256,256,256,256,24, 256,256,91,92,256,256,256,256,91,92,256,24,
28,29,28,29,28,29,28,29,28,29,28,29, 26,27,28,29,28,29,28,29,28,29,26,27,
}, },
-- 16 -- 16
@@ -201,51 +201,51 @@ mapa={
}, },
-- 21 -- 21
{ {
33,37,36,37,36,37,36,37,36,37,36,37, 34,35,36,37,36,37,36,37,36,37,36,37,
32,256,256,256,256,256,256,256,256,256,256,256, 32,256,256,256,256,256,256,256,256,256,256,256,
32,256,256,256,256,256,256,256,256,256,256,256, 32,256,97,97,98,256,256,256,97,96,97,256,
32,256,256,256,256,256,256,256,256,256,256,256, 32,256,99,256,100,256,256,256,99,256,100,256,
32,256,8,9,256,256,256,256,256,256,256,256, 32,256,8,9,256,104,101,102,103,256,256,256,
36,37,8,9,36,37,36,37,36,37,36,37, 34,35,8,9,36,37,36,37,36,37,36,37,
}, },
-- 22 -- 22
{ {
36,37,36,37,36,37,36,37,36,37,36,37, 36,37,33,33,36,37,36,37,33,33,36,37,
256,256,256,256,256,256,256,256,256,256,256,256,
256,256,256,256,256,256,256,256,256,256,256,256,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,256,256,256,256,256,256,256,256,256,256,
256,256,256,256,96,97,96,98,256,256,256,256,
256,256,113,256,99,256,256,100,256,114,256,256,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,256,256,256,256,256,256,256,256,256,256,
36,37,36,37,36,37,36,37,36,37,36,37, 36,37,36,37,36,37,36,37,36,37,36,37,
}, },
-- 23 -- 23
{ {
36,37,36,37,36,37,37,256,256,256,36,37, 37,36,37,36,37,36,37,256,256,256,36,37,
256,256,256,256,256,256,256,256,256,33,256,256, 256,256,256,256,256,256,256,256,256,33,256,256,
256,256,256,256,256,256,256,256,2,256,256,256, 256,97,98,97,256,256,112,256,2,256,256,256,
256,256,256,256,256,256,256,2,256,256,256,256, 256,99,256,100,256,256,256,2,256,75,76,256,
256,256,256,256,256,256,2,256,256,256,256,256, 256,256,256,256,256,256,2,256,256,91,92,256,
36,37,36,37,36,37,36,37,36,37,36,37, 36,37,36,37,36,37,36,37,36,37,36,37,
}, },
-- 24 -- 24
{ {
36,37,36,37,36,37,36,37,36,37,36,37, 34,35,256,256,256,256,256,256,256,256,34,35,
256,256,256,256,256,256,256,256,256,256,256,256, 256,2,34,35,34,35,34,35,34,35,2,256,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,113,256,256,112,114,256,256,114,256,256,
256,256,256,256,256,256,256,256,256,256,256,256,
256,256,256,256,256,256,256,256,256,256,256,256, 256,256,256,256,256,256,256,256,256,256,256,256,
256,104,101,102,256,101,102,256,101,102,103,256,
36,37,36,37,36,37,36,37,36,37,36,37, 36,37,36,37,36,37,36,37,36,37,36,37,
}, },
-- 25 -- 25
{ {
36,37,36,37,36,37,36,37,36,37,36,33, 36,37,36,37,36,37,36,37,36,37,34,35,
256,256,256,256,256,256,256,256,256,256,256,32, 256,256,256,256,256,256,73,74,256,256,77,32,
256,256,256,256,256,256,256,256,256,256,256,32, 256,256,96,97,96,256,89,90,256,256,93,32,
256,256,256,256,256,256,256,256,256,256,256,32, 256,256,99,256,100,256,256,256,256,256,256,32,
256,256,256,256,256,256,256,256,8,9,256,32, 256,256,256,256,256,101,102,103,8,9,256,32,
36,37,36,37,36,37,36,37,8,9,36,37, 36,37,36,37,36,37,36,37,8,9,36,37,
}, },

View File

@@ -62,21 +62,28 @@ function mapa_save()
io.close(file) io.close(file)
end end
anim_tiles={177,178,176} anim_tiles={113,114,112}
function mapa_update() function mapa_update(hab1,hab2)
mapa.wait=mapa.wait+1 mapa.wait=mapa.wait+1
if mapa.wait==6 then if mapa.wait==6 then
mapa.wait=0 mapa.wait=0
mapa.step=(mapa.step+1)&7 mapa.step=(mapa.step+1)&31
for ty=0,5 do
for tx=0,11 do local hab=hab1
local tile=mapa[1+hab][1+tx+ty*12]
if tile>=176 and tile<190 then repeat
mapa[1+hab][1+tx+ty*12]=anim_tiles[tile-175] for ty=0,5 do
for tx=0,11 do
local tile=mapa[1+hab][1+tx+ty*12]
if tile>=112 and tile<126 then
mapa[1+hab][1+tx+ty*12]=anim_tiles[tile-111]
end
end end
end end
end if hab==hab2 then break end
hab=hab2
until false
end end
end end
@@ -84,7 +91,7 @@ function mapa_draw(hab)
for ty=0,5 do for ty=0,5 do
for tx=0,11 do for tx=0,11 do
local tile=mapa[1+hab][1+tx+ty*12] local tile=mapa[1+hab][1+tx+ty*12]
if tile~=256 and (tile<190 or mapa.step~=0) then if tile~=256 and (tile<126 or mapa.step>4) then
sspr((tile&15)*8,64+(tile>>4)*8,8,8,tx*8,ty*8) sspr((tile&15)*8,64+(tile>>4)*8,8,8,tx*8,ty*8)
end end
end end

View File

@@ -4,8 +4,8 @@ switches={
current_list=nil, current_list=nil,
current_index=-1, current_index=-1,
} }
switches[1]={} switches[11]={}
switches[1][18]={1, 57,45} switches[11][21]={11, 57,45}
function switches.start(hab,tile) function switches.start(hab,tile)
if switches.cooldown>0 then return end if switches.cooldown>0 then return end

BIN
tiles.gif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB