From 2dc22d7d789ccb9932803491ef513759c454caed Mon Sep 17 00:00:00 2001 From: Raimon Zamora Date: Wed, 26 Oct 2022 19:05:50 +0200 Subject: [PATCH] -new graphics -elalien -accents --- elalien.lua | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++ game.ini | 2 +- main.lua | 6 +- map.lua | 4 +- premiere.lua | 6 +- scenes.lua | 8 +- tiles.gif | Bin 4063 -> 4617 bytes 7 files changed, 245 insertions(+), 12 deletions(-) create mode 100644 elalien.lua diff --git a/elalien.lua b/elalien.lua new file mode 100644 index 0000000..ab4d166 --- /dev/null +++ b/elalien.lua @@ -0,0 +1,231 @@ +elalien={hab=59,x=24,y=24,flip=true,goup=true,frame=8,stairscooldown=0,wait=0,step=0,anim={8,9,8,10},bb={x=4,y=0,w=8,h=16},scene_intro=false,scene_object=false} + +function elalien.init() + elalien.hit=elalien.hit + elalien.update=elalien.update_normal + elalien.draw=elalien.draw +end + +function elalien.draw() + local flip=elalien.flip + if elalien.update==elalien.update_stairs then + flip=(((elalien.x>>1)+(elalien.y>>1))%2)==0 + end + sspr((elalien.frame&7)*16,(elalien.frame>>3)*16,16,16,elalien.x,elalien.y,16,16,flip) +end + +function elalien.hit() +end + +function elalien.update_normal() + elalien.wait=elalien.wait+1 + + if elalien.wait==6 then + elalien.wait=0 + if elalien.stairscooldown>0 then elalien.stairscooldown=elalien.stairscooldown-1 end + elalien.step=(elalien.step+1)%4 + elalien.frame=elalien.anim[elalien.step+1] + + local inc=12 if elalien.flip then inc=2 end + if not elalien.flip and elalien.x==84 then + elalien.hab=elalien.hab+1 + elalien.x=-4 + elseif check_tile(elalien.hab,elalien.x+inc,elalien.y+14)0 then + if check_tile(elalien.hab,elalien.x+4,elalien.y-2)~=tiletype.block then + if (elalien.x+4)&7==0 or check_tile(elalien.hab,elalien.x+12,elalien.y-2)~=tiletype.block then + elalien.y=elalien.y-2 + end + end + else + elalien.hab=elalien.hab-10 + elalien.y=32 + end + elseif elalien.step>6 then + elalien.update=elalien.update_falling + end + elalien.step=elalien.step+1 + end + +end + +function elalien.update_falling() + elalien.frame=9 + elalien.wait=elalien.wait+1 + + if elalien.wait==6 then + elalien.wait=0 + + local inc=12 if elalien.flip then inc=2 end + if not elalien.flip and elalien.x==84 then + elalien.hab=elalien.hab+1 + elalien.x=-4 + elseif check_tile(elalien.hab,elalien.x+inc,elalien.y+14)=tiletype.half or ((elalien.x+4)&7~=0 and check_tile(elalien.hab,elalien.x+12,elalien.y+16)>=tiletype.half)) then + elalien.update=elalien.update_normal + return + end + elalien.y=elalien.y+2 + else + elalien.hab=elalien.hab+10 + elalien.y=0 + end + end +end + +function elalien.update_stairs() + elalien.frame=11 + elalien.wait=elalien.wait+1 + + if elalien.wait==6 then + elalien.wait=0 + + --if btn(KEY_RIGHT) then + -- elalien.flip=false + -- elalien_advance() + --elseif btn(KEY_LEFT) then + -- elalien.flip=true + -- elalien_advance() + if elalien.goup then + if elalien.y>0 then + if check_tile(elalien.hab,elalien.x+4,elalien.y+8)==tiletype.stair or (elalien.x+4)&7~=0 and check_tile(elalien.hab,elalien.x+12,elalien.y+8)==tiletype.stair then + elalien.y=elalien.y-2 + else + elalien.update=elalien.update_normal + elalien.stairscooldown=50 + end + else + elalien.hab=elalien.hab-10 + elalien.y=32 + end + else + if elalien.y<32 then + if check_tile(elalien.hab,elalien.x+4,elalien.y+16)==tiletype.stair or (elalien.x+4)&7~=0 and check_tile(elalien.hab,elalien.x+12,elalien.y+16)==tiletype.stair then + elalien.y=elalien.y+2 + else + elalien.update=elalien.update_normal + elalien.stairscooldown=50 + end + else + elalien.hab=elalien.hab+10 + elalien.y=0 + end + end + end +end \ No newline at end of file diff --git a/game.ini b/game.ini index b1db6aa..7d4c36b 100644 --- a/game.ini +++ b/game.ini @@ -2,4 +2,4 @@ title=Cacaus width=128 height=96 zoom=4 -files=scenes.lua,starter.lua,score.lua,switches.lua,map.lua,mapa.lua,cacau.lua,premiere.lua,caco.lua,zombie.lua,abad.lua,main.lua +files=scenes.lua,starter.lua,score.lua,switches.lua,map.lua,mapa.lua,cacau.lua,elalien.lua,premiere.lua,caco.lua,zombie.lua,abad.lua,main.lua diff --git a/main.lua b/main.lua index c37cb63..2d806cc 100644 --- a/main.lua +++ b/main.lua @@ -26,6 +26,8 @@ function _init() table.insert(actors,abad) premiere.init() table.insert(actors,premiere) + elalien.init() + table.insert(actors,elalien) z = zombie.new() table.insert(actors,z) c=caco.new(13,24,16,true) @@ -145,8 +147,8 @@ function update_game() else draw_hab(abad.hab,0,0) --text(abad.hab,1,1,2) - draw_hab(premiere.hab,0,48) - text("Premiere",2,49,8) + draw_hab(elalien.hab,0,48) + text("EL_ALIEN",2,49,8) score.draw() setsource(tiles) diff --git a/map.lua b/map.lua index a8ad291..9c4ca0d 100644 --- a/map.lua +++ b/map.lua @@ -773,8 +773,8 @@ mapa={ { 51,52,53,51,52,256,256,52,53,51,52,17, 256,256,256,256,256,256,69,256,256,256,256,17, - 256,256,256,256,256,69,256,106,256,256,256,17, - 256,256,256,256,17,256,256,17,256,256,78,17, + 256,256,256,256,256,69,256,256,256,256,256,17, + 256,256,256,256,256,256,256,106,256,256,78,17, 256,256,256,256,17,118,119,17,256,95,94,17, 51,52,53,53,51,53,52,53,51,52,51,17, diff --git a/premiere.lua b/premiere.lua index 2970908..8ffb05b 100644 --- a/premiere.lua +++ b/premiere.lua @@ -1,4 +1,4 @@ -premiere={hab=44,x=24,y=24,flip=true,frame=11,wait=0,step=0,anim={11,12,11,13},bb={x=4,y=0,w=8,h=16},scene_intro=false,scene_object=false} +premiere={hab=44,x=24,y=24,flip=true,frame=11,wait=0,step=0,anim={12,13,12,14},bb={x=4,y=0,w=8,h=16},scene_intro=false,scene_object=false} function premiere.init() premiere.hit=premiere.hit @@ -65,7 +65,7 @@ function premiere.update_normal() end function premiere.update_jumping() - premiere.frame=12 + premiere.frame=13 premiere.wait=premiere.wait+1 if premiere.wait==6 then @@ -107,7 +107,7 @@ function premiere.update_jumping() end function premiere.update_falling() - premiere.frame=12 + premiere.frame=13 premiere.wait=premiere.wait+1 if premiere.wait==6 then diff --git a/scenes.lua b/scenes.lua index eb6d29d..871f10e 100644 --- a/scenes.lua +++ b/scenes.lua @@ -1,12 +1,12 @@ scenes={ abad_inici={ - {x=4,y=0,flip=false,text={"Be, millor me fique a","buscar... com s'eixia","d'esta habitacio???"}}, + {x=4,y=0,flip=false,text={"Be, millor comence a","buscar... com s'eixia","d'esta habitació???"}}, {x=4,y=0,flip=true,text={"Perque parles","tu soles?",""}}, - {x=4,y=0,flip=false,text={"Pa que Doc prove","com queden els","dialegs..."}} + {x=4,y=0,flip=false,text={"Pa que Doc prove","com queden els","diàlegs..."}} }, abad_corfes={ - {x=4,y=0,flip=false,text={"Osti, esta ple de","monstruacos.",""}}, - {x=4,y=0,flip=false,text={"Pos al que s'acoste","s'endura una corfa","de cacau al cap!"}} + {x=4,y=0,flip=false,text={"Osti, està ple de","monstruacos.",""}}, + {x=4,y=0,flip=false,text={"Pos al que s'acoste","s'endurà una corfa","de cacau al cap!"}} } --premiere_intro={x=4,y=0,text={"Be, millor me fique a","buscar... com s'eixia","d'esta habitacio???"}} } diff --git a/tiles.gif b/tiles.gif index 7d1f0b2400aaf781a1c6229bb3a5bf8bf610f2dd..8ebaae5bc03e6a8e65a27147d74dd8b9ac0614da 100644 GIT binary patch delta 3816 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