From 4ee794a90909546a1f30016b959749c9b9ca0e1c Mon Sep 17 00:00:00 2001 From: Raimon Zamora Date: Fri, 1 Sep 2023 20:46:11 +0200 Subject: [PATCH] =?UTF-8?q?-=20A=C3=A7=C3=B2=20de=20developar=20i=20que=20?= =?UTF-8?q?se=20vegen=20els=20commits=20es=20un=20fer=20la=20m=C3=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/actors.lua | 25 +++++++++++-- data/game.ini | 2 +- data/game.lua | 12 ++++-- data/m_arq.lua | 19 ++++++++-- data/m_jail1.lua | 95 ++++++++++++++++++++++++++++++++++++++---------- 5 files changed, 121 insertions(+), 32 deletions(-) diff --git a/data/actors.lua b/data/actors.lua index 86bbd98..388eb2e 100644 --- a/data/actors.lua +++ b/data/actors.lua @@ -30,17 +30,34 @@ actors={ end end, + face=function(name, focus) + local o = actors.search(focus).o + if o=='l' then + o='r' + elseif o=='r' then + o='l' + elseif o=='u' then + o='d' + elseif o=='d' then + o='u' + end + actors.search(name).o = o + end, + draw=function() for i,v in ipairs(actors.list) do local frame=((v.dx+v.dy)%2)*16 + local x,y = v.x, v.y + if v.ox then x = x + v.ox end + if v.oy then y = y + v.oy end if v.o=='u' then - sspr(v.gfx.x+frame,v.gfx.y+16,16,16,v.x*8+v.dx*2,v.y*8-12+v.dy*2,16,16,v.dy>1) + sspr(v.gfx.x+frame,v.gfx.y+16,16,16,x*8+v.dx*2,y*8-12+v.dy*2,16,16,v.dy>1) elseif v.o=='d' then - sspr(v.gfx.x+frame,v.gfx.y,16,16,v.x*8+v.dx*2,v.y*8-12+v.dy*2,16,16,-v.dy>2) + sspr(v.gfx.x+frame,v.gfx.y,16,16,x*8+v.dx*2,y*8-12+v.dy*2,16,16,-v.dy>2) elseif v.o=='l' then - sspr(v.gfx.x+frame,v.gfx.y+32,16,16,v.x*8+v.dx*2,v.y*8-12+v.dy*2,16,16) + sspr(v.gfx.x+frame,v.gfx.y+32,16,16,x*8+v.dx*2,y*8-12+v.dy*2,16,16) elseif v.o=='r' then - sspr(v.gfx.x+frame,v.gfx.y+32,16,16,v.x*8+v.dx*2,v.y*8-12+v.dy*2,16,16,true) + sspr(v.gfx.x+frame,v.gfx.y+32,16,16,x*8+v.dx*2,y*8-12+v.dy*2,16,16,true) end end end, diff --git a/data/game.ini b/data/game.ini index d294666..4f5ace8 100644 --- a/data/game.ini +++ b/data/game.ini @@ -2,5 +2,5 @@ title=Jail Adventure 2 config=ja2 width=160 height=144 -zoom=5 +zoom=4 files=fade.lua,objects.lua,wait.lua,switches.lua,scene.lua,balloon.lua,actors.lua,game.lua,mapa.lua,editor.lua,textbox.lua,menu.lua,m_arq.lua,m_prac3.lua,m_prac2.lua,m_prac1.lua,m_jail1.lua,main.lua diff --git a/data/game.lua b/data/game.lua index 36938c7..b590e5e 100644 --- a/data/game.lua +++ b/data/game.lua @@ -19,8 +19,8 @@ game={ restart=function() flags={} objects.list={} - actors.main={name="jailer",x=10,y=26,o="r",gfx={x=32,y=0},level="arq"} - game.init("arq") + actors.main={name="jailer",x=25,y=6,o="r",gfx={x=32,y=0},level="jail1"} + game.init("jail1") end, init=function(levelname,f,objs) @@ -137,7 +137,13 @@ game={ end setmap(mapa.surface) camera(0,0) - text(tostring(game.cam.x)..","..tostring(game.cam.y),1,1,8) + + text(game.cam.x..","..game.cam.y,1,1,8) + if hero then + text(hero.x..","..hero.y,1,7,8) + end + text(game.level,1,13,8) + if not scene.script and hero and not hero.path and hero.dx+hero.dy==0 then if btn(KEY_DOWN) then hero.path={pos=0,route='d',keys=true} diff --git a/data/m_arq.lua b/data/m_arq.lua index e04d723..3c639da 100644 --- a/data/m_arq.lua +++ b/data/m_arq.lua @@ -2,8 +2,8 @@ levels["arq"]={ load=function() mapa.load("test.map") - actors.add({name="estudiant",x=18,y=11,o="r",gfx={x=0,y=48}}) - actors.add({name="estudiant",x=16,y=12,o="l",gfx={x=128,y=0}}) + actors.add({name="estudiant1",x=18,y=11,o="r",gfx={x=0,y=48},action=levels.arq.estudiant1_action}) + actors.add({name="estudiant2",x=16,y=12,o="l",gfx={x=128,y=0}}) switches.add({x=32,y=25,w=1,h=1,action= function() @@ -59,13 +59,13 @@ levels["arq"]={ end }) - switches.add({x=6,y=11,w=1,h=1,action= + switches.add({x=22,y=11,w=1,h=1,action= function() local hero = actors.search(actors.main.name) if hero.o=="u" then game.paused = true fade.fadeout() - actors.main.x=6 + actors.main.x=21 actors.main.y=15 actors.main.o="u" actors.main.level="jail1" @@ -76,5 +76,16 @@ levels["arq"]={ end end }) + end, + + estudiant1_action=function() + local hero = actors.search(actors.main.name) + --if hero.o~="d" then return end + scene.start({ + --function() actors.face("estudiant1", "jailer") scene.cont() end, + function() balloon.show("ME MOLA MIRAR LA\nBARRA DE PROGRÉS...",12,"estudiant1",false,{x=1,w=12,h=2}) end + }) + end, + } \ No newline at end of file diff --git a/data/m_jail1.lua b/data/m_jail1.lua index 4ac29a1..4c1297b 100644 --- a/data/m_jail1.lua +++ b/data/m_jail1.lua @@ -2,7 +2,8 @@ levels["jail1"]={ load=function() mapa.load("jail.map") - actors.add({name="estudiant",x=10,y=8,o="d",gfx={x=64,y=48}}) + actors.add({name="estudiant",x=21,y=8,o="d",gfx={x=64,y=48},action=levels.jail1.estudiant_action}) + actors.add({name="knunk",x=27,y=6,o="d",gfx={x=0,y=48},action=levels.jail1.knunk_action}) actors.add({name="comp_1_1",x=2,y=5,o="d",gfx={x=96,y=0},action=levels.jail1.comp_updating_action}) actors.add({name="comp_2_1",x=4,y=5,o="d",gfx={x=112,y=0},action=levels.jail1.comp_updating_action}) actors.add({name="comp_1_2",x=2,y=7,o="d",gfx={x=96,y=0},action=levels.jail1.comp_updating_action}) @@ -49,27 +50,60 @@ levels["jail1"]={ actors.add({name="comp2_4_5",x=27,y=13,o="d",gfx={x=112,y=0},action=levels.jail1.comp_updating_action}) actors.add({name="comp_usufondo",x=16,y=15,o="d",gfx={x=112,y=16},action=levels.jail1.comp_usufondo_action}) - actors.add({name="taza_usufondo",x=14,y=15,o="d",gfx={x=112,y=32},action=levels.jail1.taza_usufondo_action}) + actors.add({name="taza_usufondo",x=15,y=15,ox=-1,o="d",gfx={x=112,y=32},action=levels.jail1.taza_usufondo_action}) if not objects.search("diskito_usufondo") then actors.add({name="disquito_usufondo",x=15,y=10,o="d",gfx={x=96,y=32},action=levels.jail1.disquito_usufondo_action}) end actors.add({name="usufondo",x=16,y=14,o="d",gfx={x=0,y=0}}) - switches.add({x=8,y=8,w=1,h=3,action= + switches.add({x=19,y=11,w=1,h=1,action= function() - if not flags.usu1 then - flags.usu1=1 - scene.start({ - function() actors.add({name="usufondo",x=16,y=8,o="d",gfx={x=0,y=0}}) scene.cont() end, - function() wait.start(1) end, - function() actors.search("usufondo").path={pos=0,route='dlllll'} end, - function() balloon.show("HOY NO HAY JAIL!\nTU MISMO!!",10,"usufondo",false,{x=7,w=10,h=2}) end, - --function() objects.collect("diskito_usufondo") end, - function() actors.search("usufondo").path={pos=0,route='rrrrru'} end, - function() wait.start(0.5) end, - function() actors.remove("usufondo") scene.cont() end, - function() wait.start(1) end, - function() balloon.show("IMBÈSIL...",2,"jailer",true,{x=5,w=7,h=1}) end - }) + scene.start({ + function() actors.search("jailer").o='l' scene.cont() end, + function() actors.search("usufondo").path={pos=0,route='uuur'} end, + function() balloon.show("DONDE VAS NENE?",10,"usufondo",false,{x=4,w=10,h=1}) end, + function() balloon.show("LA JAIL 1 ESTÁ CERRADA\n",10,"usufondo",false,{x=3,w=14,h=1}) end, + function() balloon.show("VALE VALE...",2,"jailer",true,{x=5,w=8,h=1}) end, + function() actors.search("jailer").path={pos=0,route='r'} end, + function() actors.search("usufondo").path={pos=0,route='lddd'} end, + }) + return true + end + }) + +-- switches.add({x=8,y=8,w=1,h=3,action= +-- function() +-- if not flags.usu1 then +-- flags.usu1=1 +-- scene.start({ +-- function() actors.add({name="usufondo",x=16,y=8,o="d",gfx={x=0,y=0}}) scene.cont() end, +-- function() wait.start(1) end, +-- function() actors.search("usufondo").path={pos=0,route='dlllll'} end, +-- function() balloon.show("HOY NO HAY JAIL!\nTU MISMO!!",10,"usufondo",false,{x=7,w=10,h=2}) end, +-- --function() objects.collect("diskito_usufondo") end, +-- function() actors.search("usufondo").path={pos=0,route='rrrrru'} end, +-- function() wait.start(0.5) end, +-- function() actors.remove("usufondo") scene.cont() end, +-- function() wait.start(1) end, +-- function() balloon.show("IMBÈSIL...",2,"jailer",true,{x=5,w=7,h=1}) end +-- }) +-- return true +-- else +-- return false +-- end +-- end +-- }) + + switches.add({x=21,y=15,w=1,h=1,action= + function() + local hero = actors.search(actors.main.name) + if hero.o=="d" then + game.paused = true + fade.fadeout() + actors.main.x=22 + actors.main.y=11 + actors.main.o="d" + actors.main.level="arq" + game.init("arq") return true else return false @@ -78,11 +112,32 @@ levels["jail1"]={ }) end, + comp_updating_action=function() local hero = actors.search(actors.main.name) if hero.o~="d" then return end scene.start({ - function() balloon.show("NO VAN ELS COMPS\nESTAN TOTS ACTUALITZANT",2,"jailer",true,{x=1,w=15,h=2}) end + function() balloon.show("NO VAN ELS COMPS\nESTAN TOTS ACTUALITZANT",2,"jailer",true,{x=1,w=17,h=2}) end + }) + end, + + estudiant_action=function() + local hero = actors.search(actors.main.name) + --if hero.o~="d" then return end + scene.start({ + function() balloon.show("ME MOLA MIRAR LA\nBARRA DE PROGRÉS...",12,"estudiant",true,{x=1,w=12,h=2}) end + }) + end, + + knunk_action=function() + local hero = actors.search(actors.main.name) + --if hero.o~="d" then return end + scene.start({ + function() balloon.show("EI KNUNK!",2,"jailer",true,{x=10,w=7,h=1}) end, + function() balloon.show("EIXE COMP NO\nESTÀ ACTUALITZANT-SE?",2,"jailer",true,{x=4,w=13,h=2}) end, + function() balloon.show("JO PASSE...",12,"knunk",true,{x=10,w=8,h=1}) end, + function() balloon.show("A TRAVÉS D'UN BUG EN LA BARRA\nDE PROGRÉS HE OBERT UN TUNEL\nSSH A UN SERVIDOR DE KAZAJSTÀN",12,"knunk",true,{x=1,w=17,h=3}) end, + function() balloon.show(" ...",2,"jailer",true,{x=10,w=7,h=1}) end, }) end, @@ -90,7 +145,7 @@ levels["jail1"]={ local hero = actors.search(actors.main.name) if hero.o~="d" then return end scene.start({ - function() balloon.show("ESTÀ BLOQUEJAT,\nI NO ME SÉ LA CONTRASENYA.",2,"jailer",true,{x=1,w=15,h=2}) end + function() balloon.show("ESTÀ BLOQUEJAT,\nI NO ME SÉ LA CONTRASENYA.",2,"jailer",false,{x=1,w=15,h=2}) end }) end, @@ -98,7 +153,7 @@ levels["jail1"]={ local hero = actors.search(actors.main.name) if hero.o~="d" then return end scene.start({ - function() balloon.show("EL CAFÉ DE USUFONDO.\nESTÀ GELAT COM EL COR DEL DIMONI!",2,"jailer",true,{x=1,w=15,h=2}) end + function() balloon.show("EL CAFÉ DE USUFONDO. ESTÀ\nGELAT COM EL COR DEL DIMONI!",2,"jailer",false,{x=1,w=16,h=2}) end }) end,