From 245cc0fb4f54620a35fb4a9173676481209b4d69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=9F=E5=A4=96=E4=B9=8B=E7=A5=9E?= Date: Sat, 14 May 2022 13:47:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E5=86=B0=E8=BD=A6=E5=83=B5?= =?UTF-8?q?=E5=B0=B8=E7=94=9F=E6=88=90=E9=9F=B3=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/sound/zomboni.ogg | Bin 0 -> 18511 bytes source/component/plant.py | 6 +++--- source/component/zombie.py | 2 ++ source/constants.py | 6 +++--- source/state/level.py | 1 + 5 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 resources/sound/zomboni.ogg diff --git a/resources/sound/zomboni.ogg b/resources/sound/zomboni.ogg new file mode 100644 index 0000000000000000000000000000000000000000..36bab881cea000b2039ed59de9025366f2783dff GIT binary patch literal 18511 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 Tp-GSc&cF`_U<`nU2hafy24B`K literal 0 HcmV?d00001 diff --git a/source/component/plant.py b/source/component/plant.py index 5676770..e0729d4 100755 --- a/source/component/plant.py +++ b/source/component/plant.py @@ -24,7 +24,7 @@ class Car(pg.sprite.Sprite): self.current_time = game_info[c.CURRENT_TIME] if self.state == c.WALK: self.rect.x += 4 - if self.rect.x > c.SCREEN_WIDTH + 40: + if self.rect.x > c.SCREEN_WIDTH + 60: self.dead = True def setWalk(self): @@ -104,7 +104,7 @@ class Bullet(pg.sprite.Sprite): if self.y_vel * (self.dest_y - self.rect.y) < 0: self.rect.y = self.dest_y self.rect.x += self.x_vel - if self.rect.x >= c.SCREEN_WIDTH + 40: + if self.rect.x >= c.SCREEN_WIDTH + 60: self.kill() elif self.state == c.EXPLODE: if (self.current_time - self.explode_timer) > 250: @@ -206,7 +206,7 @@ class StarBullet(Bullet): else: self.rect.x -= 10 self.handleMapYPosition() - if ((self.rect.x > c.SCREEN_WIDTH + 40) or (self.rect.x < -20) + if ((self.rect.x > c.SCREEN_WIDTH + 60) or (self.rect.x < -40) or (self.rect.y > c.SCREEN_HEIGHT) or (self.rect.y < 0)): self.kill() elif self.state == c.EXPLODE: diff --git a/source/component/zombie.py b/source/component/zombie.py index 3c9e3d7..52ec289 100755 --- a/source/component/zombie.py +++ b/source/component/zombie.py @@ -941,6 +941,8 @@ class Zomboni(Zombie): self.IceFrozenPlot = IceFrozenPlot self.die_animate_interval = 100 self.boomDie_animate_interval = 150 + # 播放冰车生成音效 + pg.mixer.Sound(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "sound", "zomboni.ogg")).play() def loadImages(self): self.walk_frames = [] diff --git a/source/constants.py b/source/constants.py index 46dd37f..239a3cc 100755 --- a/source/constants.py +++ b/source/constants.py @@ -1,7 +1,7 @@ # 冒险模式起始关卡 -START_LEVEL_NUM = 1 +START_LEVEL_NUM = 0 # 小游戏模式起始关卡 -START_LITTLE_GAME_NUM = 1 +START_LITTLE_GAME_NUM = 0 # 窗口标题 ORIGINAL_CAPTION = 'pypvz' @@ -349,7 +349,7 @@ ZOMBIE_ATTACK_DAMAGE = 50 ZOMBIE_WALK_INTERVAL = 60 # 僵尸步行间隔 # 僵尸生成位置 -ZOMBIE_START_X = SCREEN_WIDTH + 40 # 场宽度不一样,用于拟合 +ZOMBIE_START_X = SCREEN_WIDTH + 50 # 场宽度不一样,用于拟合 # 状态类型 IDLE = 'idle' diff --git a/source/state/level.py b/source/state/level.py index fb1a099..75beb2b 100644 --- a/source/state/level.py +++ b/source/state/level.py @@ -840,6 +840,7 @@ class Level(tool.State): # 撑杆跳生成位置不同 self.zombie_groups[map_y].add(zombie.PoleVaultingZombie(c.ZOMBIE_START_X + randint(70, 80) + hugeWaveMove, y, self.head_group)) elif name == c.ZOMBONI: + # 冰车僵尸生成位置不同 self.zombie_groups[map_y].add(zombie.Zomboni(c.ZOMBIE_START_X + randint(55, 65) + hugeWaveMove, y, self.plant_groups[map_y], self.map, plant.IceFrozenPlot)) # 能否种植物的判断: