From 410cf2cca1bc7d612eefda7c4fa07454054fb2c7 Mon Sep 17 00:00:00 2001 From: wszqkzqk Date: Tue, 26 Jul 2022 23:28:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=91=E5=AD=A6=E6=94=BE=E7=BD=AE=E9=9F=B3?= =?UTF-8?q?=E4=B9=90=E6=92=AD=E6=94=BE=E4=BB=A3=E7=A0=81=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/state/level.py | 5 ----- source/state/screen.py | 43 +++++++++++++++++++++++++++++------------- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/source/state/level.py b/source/state/level.py index 45132ed..1227e34 100644 --- a/source/state/level.py +++ b/source/state/level.py @@ -1422,8 +1422,6 @@ class Level(tool.State): self.game_info[c.LEVEL_NUM] += 1 self.next = c.GAME_VICTORY self.done = True - # 播放胜利音效 - pg.mixer.Sound(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "sound", "win.ogg")).play() with open(c.USERDATA_PATH, "w") as f: userdata = {} for i in self.game_info: @@ -1434,9 +1432,6 @@ class Level(tool.State): elif self.checkLose(): self.next = c.GAME_LOSE self.done = True - # 播放失败音效 - pg.mixer.Sound(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "sound", "lose.ogg")).play() - pg.mixer.Sound(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "sound", "scream.ogg")).play() def drawMouseShow(self, surface): if self.hint_plant: diff --git a/source/state/screen.py b/source/state/screen.py index 0a32440..b0430fc 100644 --- a/source/state/screen.py +++ b/source/state/screen.py @@ -1,22 +1,14 @@ import pygame as pg +import os from .. import tool from .. import constants as c class Screen(tool.State): - def __init__(self, caption=c.ORIGINAL_CAPTION): - tool.State.__init__(self) + def __init__(self): self.end_time = 3000 - self.caption = caption def startup(self, current_time, persist): - self.start_time = current_time - self.next = c.LEVEL - self.persist = persist - self.game_info = persist - name = self.getImageName() - self.setupImage(name) - self.next = self.set_next_state() - pg.display.set_caption(self.caption) + pass def getImageName(self): pass @@ -40,20 +32,45 @@ class Screen(tool.State): class GameVictoryScreen(Screen): def __init__(self): - Screen.__init__(self, caption="pypvz: 战斗胜利!") + Screen.__init__(self) def getImageName(self): return c.GAME_VICTORY_IMAGE def set_next_state(self): return c.LEVEL + + def startup(self, current_time, persist): + self.start_time = current_time + self.next = c.LEVEL + self.persist = persist + self.game_info = persist + name = self.getImageName() + self.setupImage(name) + self.next = self.set_next_state() + pg.display.set_caption("pypvz: 战斗胜利!") + # 播放胜利音效 + pg.mixer.Sound(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "sound", "win.ogg")).play() class GameLoseScreen(Screen): def __init__(self): - Screen.__init__(self, caption="pypvz: 战斗失败!") + Screen.__init__(self) def getImageName(self): return c.GAME_LOSE_IMAGE def set_next_state(self): return c.LEVEL + + def startup(self, current_time, persist): + self.start_time = current_time + self.next = c.LEVEL + self.persist = persist + self.game_info = persist + name = self.getImageName() + self.setupImage(name) + self.next = self.set_next_state() + pg.display.set_caption("pypvz: 战斗失败!") + # 播放失败音效 + pg.mixer.Sound(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "sound", "lose.ogg")).play() + pg.mixer.Sound(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "sound", "scream.ogg")).play()