From 2af6371a1016c3725fc67b4a4ee888dcf8085364 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=9F=E5=A4=96=E4=B9=8B=E7=A5=9E?= Date: Sun, 12 Jun 2022 16:11:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=83=B5=E5=B0=B8=E5=95=83?= =?UTF-8?q?=E9=A3=9F=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/component/zombie.py | 2 +- source/state/level.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/component/zombie.py b/source/component/zombie.py index 9eec302..2b0adab 100755 --- a/source/component/zombie.py +++ b/source/component/zombie.py @@ -433,7 +433,7 @@ class Zombie(pg.sprite.Sprite): self.health -= damage else: print('警告:植物攻击类型错误,现在默认进行类豌豆射手型攻击') - setDamage(damage, effect=effect, damageType=c.ZOMBIE_DEAFULT_DAMAGE) + self.setDamage(damage, effect=effect, damageType=c.ZOMBIE_DEAFULT_DAMAGE) # 记录攻击时间 self.hit_timer = self.current_time diff --git a/source/state/level.py b/source/state/level.py index 8fda7ad..4c37b62 100644 --- a/source/state/level.py +++ b/source/state/level.py @@ -1041,7 +1041,7 @@ class Level(tool.State): # 被攻击对象是植物时才可能刷新 if zombie.prey_is_plant: # 新植物种在被攻击植物同一格时才可能刷新 - if (mapX, mapY) == self.newPlantAndPositon[1]: + if (zombie.preyMapX, zombie.preyMapY) == self.newPlantAndPositon[1]: # 如果被攻击植物是睡莲和花盆,同一格种了植物必然刷新 # 如果被攻击植物不是睡莲和花盆,同一格种了南瓜头才刷新 if ((zombie.prey.name not in {c.LILYPAD, "花盆(未实现)"}) @@ -1098,11 +1098,11 @@ class Level(tool.State): targetPlant = None if targetPlant: + zombie.preyMapX, zombie.preyMapY = self.map.getMapIndex(targetPlant.rect.centerx, targetPlant.rect.centery) # 撑杆跳的特殊情况 if zombie.name in {c.POLE_VAULTING_ZOMBIE} and (not zombie.jumped): if not zombie.jumping: - zombie.jumpMap_x, zombie.jumpMap_y = self.map.getMapIndex(targetPlant.rect.centerx, targetPlant.rect.centery) - zombie.jumpMap_x, zombie.jumpMap_y = min(c.GRID_X_LEN - 1, zombie.jumpMap_x), min(self.map_y_len - 1, zombie.jumpMap_y) + zombie.jumpMap_x, zombie.jumpMap_y = min(c.GRID_X_LEN - 1, zombie.preyMapX), min(self.map_y_len - 1, zombie.preyMapY) jumpX = targetPlant.rect.x - c.GRID_X_SIZE * 0.6 if c.TALLNUT in self.map.map[zombie.jumpMap_y][zombie.jumpMap_x][c.MAP_PLANT]: zombie.setJump(False, jumpX)