From 0b45d46fdbd01d5608c04db4237a55baa89af758 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=9F=E5=A4=96=E4=B9=8B=E7=A5=9E?= Date: Tue, 3 May 2022 13:15:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83=E6=94=BB=E5=87=BB=E8=8C=83?= =?UTF-8?q?=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/component/plant.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/component/plant.py b/source/component/plant.py index 73abe08..1449b6b 100755 --- a/source/component/plant.py +++ b/source/component/plant.py @@ -290,7 +290,7 @@ class Plant(pg.sprite.Sprite): def canAttack(self, zombie): if (self.state != c.SLEEP and zombie.state != c.DIE and (not zombie.lostHead) and - self.rect.x <= zombie.rect.right and zombie.rect.left <= c.SCREEN_WIDTH + 3): + self.rect.x <= zombie.rect.right and zombie.rect.left <= c.SCREEN_WIDTH): return True return False @@ -596,7 +596,7 @@ class PuffShroom(Plant): def canAttack(self, zombie): if (self.rect.x <= zombie.rect.right and - (self.rect.x + c.GRID_X_SIZE * 3.5 >= zombie.rect.x) and (zombie.rect.left <= c.SCREEN_WIDTH + 3)): + (self.rect.x + c.GRID_X_SIZE * 3.5 >= zombie.rect.x) and (zombie.rect.left <= c.SCREEN_WIDTH)): return True return False @@ -1149,10 +1149,10 @@ class StarFruit(Plant): if (self.rect.x >= zombie.rect.x) and (self.map_y == zombieMapY): # 对于同行且在杨桃后的僵尸 return True # 斜向上,理想直线方程为:f(zombie.rect.x) = -0.75*(zombie.rect.x - (self.rect.right - 5)) + self.rect.y - 10 - elif -100 <= (zombie.rect.y - (-0.75*(zombie.rect.x - (self.rect.right - 5)) + self.rect.y - 10)) <= 70 and (zombie.rect.left <= c.SCREEN_WIDTH + 3): + elif -100 <= (zombie.rect.y - (-0.75*(zombie.rect.x - (self.rect.right - 5)) + self.rect.y - 10)) <= 70 and (zombie.rect.left <= c.SCREEN_WIDTH): return True # 斜向下,理想直线方程为:f(zombie.rect.x) = zombie.rect.x + self.rect.y - self.rect.right - 15 - elif abs(zombie.rect.y - (zombie.rect.x + self.rect.y - self.rect.right - 15)) <= 70 and (zombie.rect.left <= c.SCREEN_WIDTH + 3): + elif abs(zombie.rect.y - (zombie.rect.x + self.rect.y - self.rect.right - 15)) <= 70 and (zombie.rect.left <= c.SCREEN_WIDTH): return True elif zombie.rect.left <= self.rect.x <= zombie.rect.right: return True