From c5f00fc058b142c1e8886e9d40e6af31058b605e Mon Sep 17 00:00:00 2001 From: Weranda Date: Thu, 30 Mar 2023 22:09:13 +0200 Subject: [PATCH] gdy agent walczy ze zbyt wysokim poziomem ginie --- __pycache__/agent.cpython-310.pyc | Bin 2132 -> 2816 bytes __pycache__/archer_ork.cpython-310.pyc | Bin 989 -> 1010 bytes __pycache__/infantry_ork.cpython-310.pyc | Bin 1000 -> 1023 bytes __pycache__/infantry_ork2.cpython-310.pyc | Bin 1006 -> 1030 bytes __pycache__/sauron.cpython-310.pyc | Bin 964 -> 981 bytes agent.py | 34 ++++++++++++++++++++++ archer_ork.py | 2 +- infantry_ork.py | 2 +- infantry_ork2.py | 2 +- main.py | 4 +++ sauron.py | 2 +- 11 files changed, 42 insertions(+), 4 deletions(-) diff --git a/__pycache__/agent.cpython-310.pyc b/__pycache__/agent.cpython-310.pyc index 7a518266067f72acda8d79d563e52020261aab65..df5cf3c41bb8ecd8e82ebb2b9ed7f9c7bdf94f4b 100644 GIT binary patch delta 910 zcmZ`%-HOvd6rR5}(MFVJU(jQj}1etlP9rWYS$xy2cCd zyjt=C=@W?TjnCkf7hdHR7JLCgJZF;KZqZGcZ_fG7`MykM=BM-VtQ|EPbpp?y!)xBJ z#=afVoBJQuEwBEG^bF5@O4`=fFW*`69C~IXBXdG=ro|jEK>|J_fw)B&aUseo9-UL{ z(X}efhOR*bHHI}0`dp#W@CbZDbd?SMs);}W+A^1uXxE?k;WRe~(O8a$p6^bgSLq?& ztUAyl>A@Z0QM!JRRld>6Dp0r6m&UzhfCfiT1p*uoVZ>`tnUa8JY=-OO0qEy^k1lbz ze!j<+xT@y(5@%>m%&2;xy<|{>xi(6Kx(mNrFE@y1CPpD{1P^4%Gxb8}Rw)wd*{K?< z)Nr+{HH~ARnFUu;ot~+=!c1MnztM0BqbmT9VZchs`2D_h|25p!4I6Ij(PiznWttgl=2i5+jIf&iFs?fmgpx=u&q+&~ JRx1_q$zK{f-Vgu) delta 248 zcmZn=yCT4s&&$ij00d4KR8!t_OytXF)R|bP%M#3>$+dC&DW>`Wpj-{Z0)~YQj6gbz zk%b|P2}m=WGcYm416d1LQWzI9!sS?ja%^BZAPXqR1d>Z(u3?C029svde* zt5um40JXSIRGh1uYC}Iofaj_Z@t={?3FJ8`8@Bjb+ delta 377 zcmY*VJ5Iwu6x@&F|2hfzkj54bw;*YurKPbV)>yF|jMk>Jgg5{N@&)XYE(f3oi5pnr z5;+007ELU@*_qil8m*7kuO$j0T!L@?b166P;_&hbQPY~lq$U~3G-DOdjBM1Jwf0!Y zD5+Ux&7oqu=Ksv8ENFK?4+*~&l6E>DK#ki8vVlYz&a~p~8MKS>QZ{V);C{QF;h0K3 zlxSlvjgF#F^F^mCm*6&LiE@%T19RjEH|NbOy`8OkBi-(k-rMGRTt2B?l{82CEdsnu zjR7A-h0Pbcp7;E?ZVaV{>$jyAx zS&hEqJ)@*ywLJqx(}w>#r?$cFs2(~*w;^e-C;FhE+eEJ~S+6ICwb5;XU4)l1RGpGY z07N%~hVo~L=51;86brTA>GjGv{1h?Aa*{ivbEJuz-S(cIAMFiB8s97jH(srx>Q-g- zvKmBIBymxzyQoyx?K@oy9}iXmG)X fO*}qkPE4i$b(mb0MUth;1t?F8uKzcvUGx2Kxd&M0 delta 377 zcmY*VJ5Iwu6x@&F|2hu&kj4=W1$O}I&{88=5o@ei4n}L!S)$+s$Q_kkrlsZxDX4t{ zZa@jM7ELU@*_qil8m)h=Z%Y(HxCCE#IG5`;@$vErQPY~lq$U~3G-DOdjBM1Jwf0!Y zD5+Ux&7fkt=Ksv8ENFK?4+*~&l6E>DK#kiF*+3!b@jy`3(5Bi-zh-rMAPTt2C7l{7!}AOgHh zjRAY2qUMX;gg%6YDbD~Vb(;%*H`k_$j$zfj^JwkB?9Kb)@nM@P{nwPIfgkS<(Uo4c UFL#A}&Xa2jRhj^s*mTMM0B$N$Gynhq diff --git a/__pycache__/infantry_ork2.cpython-310.pyc b/__pycache__/infantry_ork2.cpython-310.pyc index c9f3552888a209be2fedeb972413205b1730e864..4344cfc3ef96127f8b9ad943ee1c0a92739b4636 100644 GIT binary patch delta 387 zcmY+AKTE?v7{>2Unp~4!6Ju)XVC&)+=qzr6xH?M^&y+?@Ac=!;;3jmGe1T+ic6M_W zoLzPHGx%I|>B0N({N8*2aQEXp3Ry_$5}ft-fhwNl%flN$Q%w@0Nk%d_C`%bKytcAI zX19(ucf4biXjY2|lngchcWy1fUauo`$abt~XD0ffpxr{RuUKa$hPBmhgFVD($xwAn z5($uP1P#^S62lW^brcJY-|5WC7=DO|v7BUX?_4#&&9u?uS+_(RbF7%F<Z7Q delta 354 zcmY*Vy-ve081zq?f2S>^g@HsYY)Cu-FTjczQB>g)H7XQ287;9OcH|dGMrPJN0*owq z1ctr<3+ITXmcH}d*{75J>hC!N;At7ci7U-~5y zJWY)O??h$hn_W#}2oF=A0$duJ3w}GZrpopqHyzK;1DL&gw|Tr@mCAmbiY)N`yF)ZL HKm6nm(1=fF diff --git a/__pycache__/sauron.cpython-310.pyc b/__pycache__/sauron.cpython-310.pyc index a9ae9df15d9452fe72d639bdaa0e2e3bff2384ac..a22a84e90662f67ae8a8eefefdaf4f3dc8a67c2a 100644 GIT binary patch delta 371 zcmY+AJx;?g7>50mCT$Xv5LyZnZCTiuxd3A8%o;_cjT)5(Iq4ROGaz3e-l)VKSbBvn zxdI#F0K5(?we-DupU>Zq?7eevL?MJraK688(z`eD@wx}pv?ejBNltP&C|fdQcxC0i z+-{uO+;Pn)sae$@g5p8V|D9X)!Ct36Iz)4lQf(#%ps+bbZ;&!=CPtOjoPj-rpD|QD zkXQgjGlWLz-x9;4)Y23SjX&3BuQTOXriz*2|eu@BZl_6wDKDQ>Rp$Tz delta 354 zcmY*Vy-ve081zqmnjfbvq=kW0NQjMB=+u>&HL7rl8WmbO8I5=bv~n0U-~H$ zJWUM&FGOYLjV(qogpaAt0UiyF%Wo#uRM{cS%#LSQ0nE<3-9Fr{3uV7eMHcws-99=q Hdw%u@N3l-; diff --git a/agent.py b/agent.py index 5600741..68fb315 100644 --- a/agent.py +++ b/agent.py @@ -32,6 +32,7 @@ class Agent(pygame.sprite.Sprite): def update(self): self.movement() + self.collide_mob() self.rect.x += self.x_change self.collide_blocks('x') @@ -68,3 +69,36 @@ class Agent(pygame.sprite.Sprite): self.rect.y = hits[0].rect.top - self.rect.height if self.y_change < 0: self.rect.y = hits[0].rect.bottom + + def collide_mob(self): + + hits_archer_ork = pygame.sprite.spritecollide(self, self.game.archer_orks, False) + hits_infantry_ork = pygame.sprite.spritecollide(self, self.game.infantry_orks, False) + hits_infantry_ork2 = pygame.sprite.spritecollide(self, self.game.infantry_orks2, False) + hits_sauron = pygame.sprite.spritecollide(self, self.game.sauronL, False) + if hits_archer_ork: + if self.game.archer_ork.level > self.level: + self.kill() + self.game.new() + else: + self.game.archer_ork.kill() + if hits_infantry_ork: + if self.game.infantry_ork.level > self.level: + self.kill() + self.game.new() + else: + self.game.infantry_ork.kill() + if hits_infantry_ork2: + if self.game.infantry_ork2.level > self.level: + self.kill() + self.game.new() + else: + self.game.infantry_ork2.kill() + if hits_sauron: + if self.game.sauron.level > self.level: + self.kill() + self.game.new() + else: + self.game.sauron.kill() + + # brakuje levelowania postaci gdy zabije moba, jest zrobione tylko, że jeśli za wysoki poziom to ginie i od nowa zaczyna \ No newline at end of file diff --git a/archer_ork.py b/archer_ork.py index 8b886fb..50e1fb7 100644 --- a/archer_ork.py +++ b/archer_ork.py @@ -6,7 +6,7 @@ class Archer_ork(pygame.sprite.Sprite): def __init__(self, game, x, y): self.game = game - self.groups = self.game.all_sprites + self.groups = self.game.all_sprites, self.game.archer_orks pygame.sprite.Sprite.__init__(self, self.groups) self.x = x * TILE_SIZE diff --git a/infantry_ork.py b/infantry_ork.py index 11a77a6..c51d5df 100644 --- a/infantry_ork.py +++ b/infantry_ork.py @@ -6,7 +6,7 @@ class Infantry_ork(pygame.sprite.Sprite): def __init__(self, game, x, y): self.game = game - self.groups = self.game.all_sprites + self.groups = self.game.all_sprites, self.game.infantry_orks pygame.sprite.Sprite.__init__(self, self.groups) self.x = x * TILE_SIZE diff --git a/infantry_ork2.py b/infantry_ork2.py index 2e77bf0..09168e7 100644 --- a/infantry_ork2.py +++ b/infantry_ork2.py @@ -6,7 +6,7 @@ class Infantry_ork2(pygame.sprite.Sprite): def __init__(self, game, x, y): self.game = game - self.groups = self.game.all_sprites + self.groups = self.game.all_sprites, self.game.infantry_orks2 pygame.sprite.Sprite.__init__(self, self.groups) self.x = x * TILE_SIZE diff --git a/main.py b/main.py index 648bdc1..3034e1e 100644 --- a/main.py +++ b/main.py @@ -25,6 +25,10 @@ class Game: def new(self): # tworzy się nowa sesja grania self.all_sprites = pygame.sprite.LayeredUpdates() self.rock_sprites = pygame.sprite.LayeredUpdates() + self.archer_orks = pygame.sprite.LayeredUpdates() + self.infantry_orks = pygame.sprite.LayeredUpdates() + self.infantry_orks2 = pygame.sprite.LayeredUpdates() + self.sauronL = pygame.sprite.LayeredUpdates() self.agent = Agent(self,1,1) self.archer_ork = Archer_ork(self,10,10) self.infantry_ork = Infantry_ork(self,5,1) diff --git a/sauron.py b/sauron.py index bd22ae0..9d05d4a 100644 --- a/sauron.py +++ b/sauron.py @@ -6,7 +6,7 @@ class Sauron(pygame.sprite.Sprite): def __init__(self, game, x, y): self.game = game - self.groups = self.game.all_sprites + self.groups = self.game.all_sprites, self.game.sauronL pygame.sprite.Sprite.__init__(self, self.groups) self.x = x * TILE_SIZE