修复小游戏通关结果不正常的bug

This commit is contained in:
星外之神 2022-07-29 15:52:25 +08:00
parent 837e225335
commit dd090b022d
2 changed files with 11 additions and 4 deletions

View File

@ -696,6 +696,7 @@ SOUNDS = ( # 程序交互等
SOUND_WIN := _getSound("win.ogg"), SOUND_WIN := _getSound("win.ogg"),
SOUND_SCREAM := _getSound("scream.ogg"), SOUND_SCREAM := _getSound("scream.ogg"),
SOUND_CANNOT_CHOOSE_WARNING := _getSound("cannotChooseWarning.ogg"), SOUND_CANNOT_CHOOSE_WARNING := _getSound("cannotChooseWarning.ogg"),
SOUND_FINAL_FANFARE := _getSound("finalfanfare.ogg")
) )
# 记录本地存储文件初始值 # 记录本地存储文件初始值

View File

@ -1421,24 +1421,30 @@ class Level(tool.State):
def checkGameState(self): def checkGameState(self):
if self.checkVictory(): if self.checkVictory():
# 播放胜利音效
c.SOUND_WIN.play()
if self.game_info[c.GAME_MODE] == c.MODE_ADVENTURE: if self.game_info[c.GAME_MODE] == c.MODE_ADVENTURE:
self.game_info[c.LEVEL_NUM] += 1 self.game_info[c.LEVEL_NUM] += 1
if self.game_info[c.LEVEL_NUM] >= map.TOTAL_LEVEL: if self.game_info[c.LEVEL_NUM] >= map.TOTAL_LEVEL:
self.game_info[c.LEVEL_COMPLETIONS] += 1 self.game_info[c.LEVEL_COMPLETIONS] += 1
self.game_info[c.LEVEL_NUM] = 1 self.game_info[c.LEVEL_NUM] = 1
self.next = c.AWARD_SCREEN self.next = c.AWARD_SCREEN
# 播放大胜利音效
c.SOUND_FINAL_FANFARE.play()
else: else:
self.next = c.GAME_VICTORY self.next = c.GAME_VICTORY
# 播放胜利音效
c.SOUND_WIN.play()
elif self.game_info[c.GAME_MODE] == c.MODE_LITTLEGAME: elif self.game_info[c.GAME_MODE] == c.MODE_LITTLEGAME:
self.game_info[c.LITTLEGAME_NUM] += 1 self.game_info[c.LITTLEGAME_NUM] += 1
if self.game_info[c.LITTLEGAME_NUM] > map.TOTAL_LITTLE_GAME: if self.game_info[c.LITTLEGAME_NUM] >= map.TOTAL_LITTLE_GAME:
self.game_info[c.LITTLEGAME_COMPLETIONS] += 1 self.game_info[c.LITTLEGAME_COMPLETIONS] += 1
self.game_info[c.LITTLEGAME_NUM] = 1 self.game_info[c.LITTLEGAME_NUM] = 1
self.next = c.AWARD_SCREEN self.next = c.AWARD_SCREEN
# 播放大胜利音效
c.SOUND_FINAL_FANFARE.play()
else: else:
self.next = c.GAME_VICTORY self.next = c.GAME_VICTORY
# 播放胜利音效
c.SOUND_WIN.play()
self.done = True self.done = True
self.saveUserData() self.saveUserData()
elif self.checkLose(): elif self.checkLose():