更改bmg判断机制

This commit is contained in:
星外之神 2022-05-04 10:28:27 +08:00
parent 66c6eed456
commit 4245080c9d

View File

@ -33,10 +33,8 @@ class Level(tool.State):
def loadMap(self): def loadMap(self):
if self.game_info[c.GAME_MODE] == c.MODE_LITTLEGAME: if self.game_info[c.GAME_MODE] == c.MODE_LITTLEGAME:
map_file = 'littleGame_' + str(self.game_info[c.LITTLEGAME_NUM]) + '.json' map_file = 'littleGame_' + str(self.game_info[c.LITTLEGAME_NUM]) + '.json'
self.mode = c.MODE_LITTLEGAME
elif self.game_info[c.GAME_MODE] == c.MODE_ADVENTURE: elif self.game_info[c.GAME_MODE] == c.MODE_ADVENTURE:
map_file = 'level_' + str(self.game_info[c.LEVEL_NUM]) + '.json' map_file = 'level_' + str(self.game_info[c.LEVEL_NUM]) + '.json'
self.mode = c.MODE_ADVENTURE
file_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))),'resources' , 'data', 'map', map_file) file_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))),'resources' , 'data', 'map', map_file)
# 最后一关之后应该结束了 # 最后一关之后应该结束了
try: try:
@ -45,9 +43,9 @@ class Level(tool.State):
f.close() f.close()
except Exception as e: except Exception as e:
print("成功通关!") print("成功通关!")
if self.mode == c.MODE_ADVENTURE: if self.game_info[c.GAME_MODE] == c.MODE_LITTLEGAME:
self.game_info[c.LEVEL_NUM] = c.START_LEVEL_NUM self.game_info[c.LEVEL_NUM] = c.START_LEVEL_NUM
elif self.mode == c.MODE_LITTLEGAME: elif self.game_info[c.GAME_MODE] == c.MODE_LITTLEGAME:
self.game_info[c.LITTLEGAME_NUM] = c.START_LITTLE_GAME_NUM self.game_info[c.LITTLEGAME_NUM] = c.START_LITTLE_GAME_NUM
self.done = True self.done = True
self.next = c.MAIN_MENU self.next = c.MAIN_MENU
@ -55,27 +53,28 @@ class Level(tool.State):
pg.mixer.music.load(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "music", "intro.opus")) pg.mixer.music.load(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "music", "intro.opus"))
pg.mixer.music.play(-1, 0) pg.mixer.music.play(-1, 0)
return return
if self.map_data[c.SHOVEL] == 0: # 是否有铲子的信息无铲子时为0有铲子时为1故直接赋值即可
self.hasShovel = False self.hasShovel = self.map_data[c.SHOVEL]
else:
self.hasShovel = True
# 同时播放音乐 # 同时播放音乐
global bgm if c.CHOOSEBAR_TYPE in self.map_data: # 指定了choosebar_type的传送带关
if self.mode == c.MODE_ADVENTURE: # 冒险模式 if self.map_data[c.CHOOSEBAR_TYPE] == c.CHOSSEBAR_BOWLING: # 坚果保龄球
if self.game_info[c.LEVEL_NUM] in {0, 1, 2}: # 白天关卡 self.bgm = 'bowling.opus'
bgm = 'dayLevel.opus' elif self.map_data[c.CHOOSEBAR_TYPE] == c.CHOOSEBAR_MOVE: # 传送带
elif self.game_info[c.LEVEL_NUM] in {3}: # 夜晚关卡 self.bgm = 'battle.opus'
bgm = 'nightLevel.opus' else: # 一般选卡关,非传送带
elif self.game_info[c.LEVEL_NUM] in {4}: # 白天类
bgm = 'poolLevel.opus' if self.map_data[c.BACKGROUND_TYPE] in {c.BACKGROUND_DAY, c.BACKGROUND_SINGLE, c.BACKGROUND_TRIPLE}:
elif self.mode == c.MODE_LITTLEGAME: # 小游戏模式 self.bgm = 'dayLevel.opus'
if self.game_info[c.LITTLEGAME_NUM] in {1}: # 传送带大战 # 夜晚
bgm = 'battle.opus' elif self.map_data[c.BACKGROUND_TYPE] in {c.BACKGROUND_NIGHT}:
elif self.game_info[c.LITTLEGAME_NUM] in {2}: # 坚果保龄球 self.bgm = 'nightLevel.opus'
bgm = 'bowling.opus' # 泳池
elif self.map_data[c.BACKGROUND_TYPE] in {c.BACKGROUND_POOL}:
self.bgm = 'poolLevel.opus'
pg.mixer.music.stop() pg.mixer.music.stop()
pg.mixer.music.load(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "music", bgm)) pg.mixer.music.load(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "music", self.bgm))
pg.mixer.music.play(-1, 0) pg.mixer.music.play(-1, 0)
def setupBackground(self): def setupBackground(self):
@ -203,12 +202,12 @@ class Level(tool.State):
# 旧机制,目前仅用于调试
def setupZombies(self): def setupZombies(self):
def takeTime(element): def takeTime(element):
return element[0] return element[0]
self.zombie_list = [] self.zombie_list = []
# 旧机制,目前仅用于调试
for data in self.map_data[c.ZOMBIE_LIST]: for data in self.map_data[c.ZOMBIE_LIST]:
if 'map_y' in data.keys(): if 'map_y' in data.keys():
self.zombie_list.append((data['time'], data['name'], data['map_y'])) self.zombie_list.append((data['time'], data['name'], data['map_y']))
@ -499,7 +498,7 @@ class Level(tool.State):
self.done = True self.done = True
self.next = c.LEVEL self.next = c.LEVEL
pg.mixer.music.stop() pg.mixer.music.stop()
pg.mixer.music.load(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "music", bgm)) pg.mixer.music.load(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "music", self.bgm))
pg.mixer.music.play(-1, 0) pg.mixer.music.play(-1, 0)
elif self.checkMainMenuClick(mouse_pos): elif self.checkMainMenuClick(mouse_pos):
self.done = True self.done = True