From 6ee51f42a5d42ef3306e2a916d60844797e9d9b1 Mon Sep 17 00:00:00 2001 From: Raimon Zamora Date: Thu, 27 Oct 2022 13:08:39 +0200 Subject: [PATCH] - WIP EL_ALIEN AI --- elalien.lua | 31 ++++++++++++++++++++++--------- main.lua | 2 +- map.lua | 40 ++++++++++++++++++++-------------------- mapa.lua | 4 +++- tiles.gif | Bin 4617 -> 4622 bytes 5 files changed, 46 insertions(+), 31 deletions(-) diff --git a/elalien.lua b/elalien.lua index ab4d166..f82e958 100644 --- a/elalien.lua +++ b/elalien.lua @@ -1,4 +1,4 @@ -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} +elalien={hab=38,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 @@ -20,7 +20,7 @@ end function elalien.update_normal() elalien.wait=elalien.wait+1 - if elalien.wait==6 then + 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 @@ -30,6 +30,13 @@ function elalien.update_normal() 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.nonpc then + if rnd(10)<8 then + elalien.update=elalien.update_jumping + elalien.step=0 + else + elalien.flip=not elalien.flip + end elseif check_tile(elalien.hab,elalien.x+inc,elalien.y+14)0 then option=0 end if option<5 then elalien.update=elalien.update_falling elseif option<8 then elalien.update=elalien.update_jumping elalien.step=0 + elalien.wait=0 else elalien.flip=not elalien.flip end @@ -112,14 +125,14 @@ function elalien.update_jumping() elalien.frame=9 elalien.wait=elalien.wait+1 - if elalien.wait==6 then + 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)=6 then elalien.wait=0 local inc=12 if elalien.flip then inc=2 end @@ -193,7 +206,7 @@ function elalien.update_stairs() elalien.frame=11 elalien.wait=elalien.wait+1 - if elalien.wait==6 then + if elalien.wait>=6 then elalien.wait=0 --if btn(KEY_RIGHT) then diff --git a/main.lua b/main.lua index 2d806cc..ee64f3a 100644 --- a/main.lua +++ b/main.lua @@ -155,7 +155,7 @@ function update_game() prnt("x"..abad.vides,114,13,2) rectfill(102+(abad.energia>>1),30,122,37,16) - mapa_update(abad.hab,premiere.hab) + mapa_update(abad.hab,elalien.hab) for key,actor in pairs(actors) do actor:update() diff --git a/map.lua b/map.lua index 9c4ca0d..f907e47 100644 --- a/map.lua +++ b/map.lua @@ -64,8 +64,8 @@ mapa={ 42,43,256,256,256,256,65,256,256,256,256,64, 256,41,256,67,256,256,256,256,68,256,256,256, 256,41,256,256,256,66,256,256,256,256,256,256, - 256,256,256,64,256,256,256,256,67,256,67,256, - 256,256,256,256,256,256,65,256,256,256,256,256, + 256,256,256,64,256,256,65,256,67,256,67,256, + 256,256,256,256,256,256,256,256,256,256,256,256, 42,43,20,21,20,21,20,21,20,21,20,21, }, @@ -74,8 +74,8 @@ mapa={ 67,256,256,256,256,65,256,256,256,256,64,256, 256,256,67,256,256,256,256,68,256,256,256,256, 256,256,256,256,66,256,256,256,256,256,256,67, - 256,256,64,256,256,256,256,67,256,67,256,256, - 256,256,256,256,256,65,256,256,256,256,256,256, + 256,256,64,256,256,65,256,67,256,67,256,256, + 256,256,256,256,256,111,111,256,256,256,256,256, 20,21,20,21,17,256,256,17,20,21,20,21, }, @@ -84,8 +84,8 @@ mapa={ 256,256,256,256,65,256,256,256,256,64,17,17, 256,67,256,256,256,256,68,256,256,256,17,256, 256,256,256,66,256,256,256,256,256,256,17,256, - 256,64,256,256,256,256,67,256,67,256,256,256, - 256,256,256,256,65,256,256,256,256,256,256,256, + 256,64,256,256,65,256,67,256,67,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, }, @@ -173,8 +173,8 @@ mapa={ { 44,45,44,45,41,256,256,41,44,45,44,45, 256,256,256,256,256,69,256,256,256,256,256,256, - 256,256,256,256,256,256,256,256,256,256,256,256, 256,256,256,256,256,256,69,256,256,256,256,256, + 256,256,256,256,256,111,111,256,256,256,256,256, 256,256,256,41,41,256,69,41,41,256,256,256, 45,44,45,42,43,256,256,42,43,44,45,44, @@ -375,8 +375,8 @@ mapa={ 29,256,256,256,256,256,69,256,256,256,256,28, 256,256,98,96,98,256,256,98,98,96,256,256, 256,256,99,256,100,256,256,99,256,100,256,256, - 256,256,256,256,256,69,256,256,10,11,256,256, - 29,28,29,28,29,256,256,28,10,11,29,28, + 256,256,256,256,256,111,111,256,10,11,256,256, + 29,28,29,28,29,69,256,28,10,11,29,28, }, -- 39 @@ -385,8 +385,8 @@ mapa={ 256,256,25,25,256,256,256,256,256,256,106,24, 256,256,256,69,256,256,256,256,256,256,95,24, 256,256,256,256,78,97,107,108,256,106,105,24, - 256,256,69,256,94,101,102,110,103,105,98,24, - 28,29,256,256,28,29,28,29,28,29,28,29, + 256,256,111,111,94,101,102,110,103,105,98,24, + 28,29,69,256,28,29,28,29,28,29,28,29, }, -- 40 @@ -475,8 +475,8 @@ mapa={ 256,256,256,256,256,256,69,256,10,11,256,256, 256,256,96,97,256,256,69,256,10,11,256,256, 256,115,99,100,256,256,256,256,10,11,256,256, - 256,101,102,103,256,69,256,256,10,11,256,256, - 19,18,19,18,19,256,256,18,19,18,19,18, + 256,101,102,103,256,111,111,256,10,11,256,256, + 19,18,19,18,19,69,256,18,19,18,19,18, }, -- 49 @@ -484,9 +484,9 @@ mapa={ 20,21,256,69,18,19,18,19,20,21,20,21, 256,256,256,256,256,256,256,256,256,256,114,256, 256,256,69,256,256,256,114,256,256,256,256,256, - 256,114,69,256,256,256,256,256,17,18,19,17, - 256,256,256,256,18,19,18,19,18,19,18,19, - 18,19,256,256,17,18,19,18,19,18,19,17, + 256,114,69,111,256,256,256,256,17,18,19,17, + 256,256,111,256,18,19,18,19,18,19,18,19, + 18,19,256,69,17,18,19,18,19,18,19,17, }, -- 50 @@ -575,7 +575,7 @@ mapa={ 256,256,256,256,256,69,256,256,256,256,256,256, 256,113,70,71,114,256,256,112,107,108,113,256, 256,256,86,87,256,256,69,256,109,110,256,256, - 256,256,256,256,256,256,69,256,256,256,256,256, + 256,256,256,256,256,111,111,256,256,256,256,256, 37,36,37,36,37,256,256,36,37,36,37,36, }, @@ -584,7 +584,7 @@ mapa={ 34,35,256,256,34,35,34,35,34,35,34,35, 256,256,256,69,256,256,256,256,256,256,256,256, 256,256,69,256,256,256,97,96,256,256,256,256, - 256,256,256,256,256,256,99,100,256,256,256,256, + 256,256,111,111,256,256,99,100,256,256,256,256, 256,41,120,119,41,256,256,256,8,9,256,256, 3,41,46,47,41,3,36,37,8,9,36,37, @@ -675,7 +675,7 @@ mapa={ 24,97,256,256,256,256,256,256,256,256,256,256, 24,99,256,256,256,69,256,256,256,256,256,256, 24,256,95,256,113,69,256,256,114,75,76,256, - 24,101,102,103,256,256,256,256,256,91,92,256, + 24,101,102,103,256,111,111,256,256,91,92,256, 28,28,29,28,29,256,69,28,29,28,29,28, }, @@ -774,7 +774,7 @@ 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,256,256,256,256,17, - 256,256,256,256,256,256,256,106,256,256,78,17, + 256,256,256,256,256,111,111,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/mapa.lua b/mapa.lua index 7b23017..81282b2 100644 --- a/mapa.lua +++ b/mapa.lua @@ -1,5 +1,5 @@ --mapa={} -tiletype={void=0,stair=1,switch=2,half=3,block=4} +tiletype={void=0,nonpc=1,stair=2,switch=3,half=4,block=5} mapa.wait=0 mapa.step=0 function mapa_do_backup() @@ -137,6 +137,8 @@ function check_tile(hab,x,y) return tiletype.switch elseif tile<64 then return tiletype.block + elseif tile==111 then + return tiletype.nonpc else return tiletype.void end diff --git a/tiles.gif b/tiles.gif index 8ebaae5bc03e6a8e65a27147d74dd8b9ac0614da..9a489e2e10bb0ba9e468d9685ab5b214db343aaa 100644 GIT binary patch delta 427 zcmV;c0aX5pB#tDoQ4j_B5ckJwlT#2Pe_*UaiI)4=jIAcCpDCyuS*T4Jp}PXAZYrEK z>ZXAiZN9ogd?BoSx-Q3xti#HSrUt8nI;(TRmC`zY)EX7Inx53ct&bY1l?f6xhp9uE zs#&^_k%)6xx}=r)pG|6+y;`sKdK}Jm04Zl(EuoSux{|osjOP|L7JISD60i3vf3F2g zu)KP(pon?I`eAwMursQ$>4~xmad1E9Y(8f!cBg6!!Ll=3vrg-YgGqBoF$;9f26Hrv za5f8XLMyY+mJ`gD0M}Wd1nOyIS}o&q5l{QHE6a1RO0_*ZvoVV%FZ;7J`?EGFZ7;*L zV6ufEewJXacs;0Ix`3dd^4hOS?Wol9FWW6Mk{t4*v1w}H!Z z1HiWP`IqRqny`u{wS;hVt8h4*vrDv0@0M^bOCJk?xeB4VhYJyjtC@`ZPRACyh3m4; zXmGH4Oq*K(5HTOE%ewif5ELuB)=0Zd!X%}eyW>N;fNGOa8K%E`OHwPf8LRuc#!I^o Vd9L{=knq{Og$ti4dJzEu06SXw&`|&Y delta 422 zcmV;X0a^ZzB#9)jQ4j*zr;}C?B7Z=vLJ6wPHmI>W7hGAWO&OuPf~>Y`rcGL+ff;SQ zx$|{Y6{_OK4&a;XR;^DvM$SNT#AE5b4M!+bjjwr5GY%+2#2%c3U4j@ zY&pSf32>bSN}!%brqwb&;_7Tld$K&oYB>wFHmeY5lClT)Zda?bT5Gf)BW*}aEvx3V zOgjKod$LTTYG;eHpSciaYk#&rH@3-&wK}VDT&pp4`?blkOed>Ntk$-D%X4Jwx53$$ zQx}pgf+n?ua0=IMGMhADv`kp*ZW>1)3qiRGVY&19m*}~gh)GY!hPa0twWnxsPOhUGyD?gwcxM2#FyQ{8C)U-`|x)-ZEyt4a{rdGV^ Q2%pLuxQUsf6cG>rJKg@tuK)l5