更改标题显示

This commit is contained in:
星外之神 2022-08-02 19:06:01 +08:00
parent 7240c61765
commit fde1661ec5
3 changed files with 29 additions and 8 deletions

View File

@ -179,6 +179,7 @@ LEVEL_MAP_DATA = (
# 第0关测试模式地图
{
c.BACKGROUND_TYPE: 2,
c.GAME_TITLE: "隐藏测试关卡",
c.INIT_SUN_NAME: 5000,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES: c.SPAWN_ZOMBIES_LIST,
@ -203,6 +204,7 @@ LEVEL_MAP_DATA = (
# 第1关单行草皮
{
c.BACKGROUND_TYPE: 7,
c.GAME_TITLE: "白天 1-1",
c.INIT_SUN_NAME: 150,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -212,6 +214,7 @@ LEVEL_MAP_DATA = (
# 第2关三行草皮
{
c.BACKGROUND_TYPE: 8,
c.GAME_TITLE: "白天 1-2",
c.INIT_SUN_NAME: 50,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -221,6 +224,7 @@ LEVEL_MAP_DATA = (
# 第3关
{
c.BACKGROUND_TYPE: 0,
c.GAME_TITLE: "白天 1-3",
c.INIT_SUN_NAME: 50,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -230,6 +234,7 @@ LEVEL_MAP_DATA = (
# 第4关
{
c.BACKGROUND_TYPE: 0,
c.GAME_TITLE: "白天 1-4",
c.INIT_SUN_NAME: 50,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -239,6 +244,7 @@ LEVEL_MAP_DATA = (
# 第5关 目前白天最后一关
{
c.BACKGROUND_TYPE: 0,
c.GAME_TITLE: "白天 1-5",
c.INIT_SUN_NAME: 50,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -248,6 +254,7 @@ LEVEL_MAP_DATA = (
# 第6关 目前夜晚第一关
{
c.BACKGROUND_TYPE: 1,
c.GAME_TITLE: "黑夜 2-1",
c.INIT_SUN_NAME: 50,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -258,6 +265,7 @@ LEVEL_MAP_DATA = (
# 第7关
{
c.BACKGROUND_TYPE: 1,
c.GAME_TITLE: "黑夜 2-2",
c.INIT_SUN_NAME: 50,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -269,6 +277,7 @@ LEVEL_MAP_DATA = (
# 第8关 目前为夜晚最后一关
{
c.BACKGROUND_TYPE: 1,
c.GAME_TITLE: "黑夜 2-3",
c.INIT_SUN_NAME: 50,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -287,6 +296,7 @@ LEVEL_MAP_DATA = (
# 第9关 目前为泳池模式第一关
{
c.BACKGROUND_TYPE: 2,
c.GAME_TITLE: "泳池 3-1",
c.INIT_SUN_NAME: 50,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -297,6 +307,7 @@ LEVEL_MAP_DATA = (
# 第10关
{
c.BACKGROUND_TYPE: 2,
c.GAME_TITLE: "泳池 3-2",
c.INIT_SUN_NAME: 50,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -308,6 +319,7 @@ LEVEL_MAP_DATA = (
# 第11关
{
c.BACKGROUND_TYPE: 2,
c.GAME_TITLE: "泳池 3-3",
c.INIT_SUN_NAME: 50,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -318,6 +330,7 @@ LEVEL_MAP_DATA = (
# 第12关 目前为泳池最后一关
{
c.BACKGROUND_TYPE: 2,
c.GAME_TITLE: "泳池 3-4",
c.INIT_SUN_NAME: 50,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -330,6 +343,7 @@ LEVEL_MAP_DATA = (
# 第13关 目前为浓雾第一关 尚未完善
{
c.BACKGROUND_TYPE: 2,
c.GAME_TITLE: "浓雾 4-1",
c.INIT_SUN_NAME: 50,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -347,12 +361,11 @@ LITTLE_GAME_MAP_DATA = (
# 第0关 测试
{
c.BACKGROUND_TYPE: 6,
c.GAME_TITLE: "隐藏测试关卡",
c.CHOOSEBAR_TYPE: c.CHOOSEBAR_BOWLING,
c.SHOVEL: 0,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
c.INCLUDED_ZOMBIES: ( c.NORMAL_ZOMBIE, c.CONEHEAD_ZOMBIE,
c.POLE_VAULTING_ZOMBIE, c.BUCKETHEAD_ZOMBIE,
c.NEWSPAPER_ZOMBIE, c.SCREEN_DOOR_ZOMBIE),
c.INCLUDED_ZOMBIES: ( c.SCREEN_DOOR_ZOMBIE,),
c.NUM_FLAGS:3,
c.CARD_POOL: { c.WALLNUTBOWLING: 0,
c.REDWALLNUTBOWLING: 0,
@ -361,6 +374,7 @@ LITTLE_GAME_MAP_DATA = (
# 第1关 坚果保龄球
{
c.BACKGROUND_TYPE: 6,
c.GAME_TITLE: "坚果保龄球",
c.CHOOSEBAR_TYPE: c.CHOOSEBAR_BOWLING,
c.SHOVEL: 0,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -373,6 +387,7 @@ LITTLE_GAME_MAP_DATA = (
# 第2关 白天 大决战
{
c.BACKGROUND_TYPE: 0,
c.GAME_TITLE: "大决战(白天)",
c.CHOOSEBAR_TYPE: c.CHOOSEBAR_MOVE,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -390,6 +405,7 @@ LITTLE_GAME_MAP_DATA = (
# 第3关 夜晚 大决战
{
c.BACKGROUND_TYPE: 1,
c.GAME_TITLE: "大决战(黑夜)",
c.CHOOSEBAR_TYPE: c.CHOOSEBAR_MOVE,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -409,6 +425,7 @@ LITTLE_GAME_MAP_DATA = (
# 第4关 泳池 大决战
{
c.BACKGROUND_TYPE: 2,
c.GAME_TITLE: "大决战(泳池)",
c.CHOOSEBAR_TYPE: c.CHOOSEBAR_MOVE,
c.SHOVEL: 1,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -425,9 +442,10 @@ LITTLE_GAME_MAP_DATA = (
c.JALAPENO: 50,
c.THREEPEASHOOTER: 300,}
},
# 第6关 坚果保龄球2
# 第5关 坚果保龄球2
{
c.BACKGROUND_TYPE: 6,
c.GAME_TITLE: "坚果保龄球(II)",
c.CHOOSEBAR_TYPE: c.CHOOSEBAR_BOWLING,
c.SHOVEL: 0,
c.SPAWN_ZOMBIES:c.SPAWN_ZOMBIES_AUTO,
@ -435,7 +453,7 @@ LITTLE_GAME_MAP_DATA = (
c.POLE_VAULTING_ZOMBIE, c.BUCKETHEAD_ZOMBIE,
c.NEWSPAPER_ZOMBIE, c.SCREEN_DOOR_ZOMBIE),
c.NUM_FLAGS:3,
c.CARD_POOL: { c.WALLNUTBOWLING: 300,
c.CARD_POOL: { c.WALLNUTBOWLING: 500,
c.REDWALLNUTBOWLING: 100,
c.GIANTWALLNUT:100,}
},

View File

@ -126,6 +126,7 @@ BACKGROUND_NAME = "Background"
BACKGROUND_TYPE = "background_type"
INIT_SUN_NAME = "init_sun_value"
ZOMBIE_LIST = "zombie_list"
GAME_TITLE = "title"
# 地图类型
BACKGROUND_DAY = 0

View File

@ -35,21 +35,23 @@ class Level(tool.State):
if self.game_info[c.GAME_MODE] == c.MODE_ADVENTURE:
if 0 <= self.game_info[c.LEVEL_NUM] < map.TOTAL_LEVEL:
self.map_data = map.LEVEL_MAP_DATA[self.game_info[c.LEVEL_NUM]]
pg.display.set_caption(f"pypvz: 冒险模式 {self.game_info[c.LEVEL_NUM]}")
pg.display.set_caption(f"pypvz: 冒险模式 {self.map_data[c.GAME_TITLE]}")
else:
self.game_info[c.LEVEL_NUM] = 1
self.saveUserData()
self.map_data = map.LEVEL_MAP_DATA[self.game_info[c.LEVEL_NUM]]
pg.display.set_caption(f"pypvz: 冒险模式 {self.map_data[c.GAME_TITLE]}")
logger.warning("关卡数设定错误!进入默认的第一关!")
# 小游戏模式
elif self.game_info[c.GAME_MODE] == c.MODE_LITTLEGAME:
if 0 <= self.game_info[c.LITTLEGAME_NUM] < map.TOTAL_LITTLE_GAME:
self.map_data = map.LITTLE_GAME_MAP_DATA[self.game_info[c.LITTLEGAME_NUM]]
pg.display.set_caption(f"pypvz: 玩玩小游戏 {self.game_info[c.LITTLEGAME_NUM]}")
pg.display.set_caption(f"pypvz: 玩玩小游戏 {self.map_data[c.GAME_TITLE]}")
else:
self.game_info[c.LITTLEGAME_NUM] = 1
self.saveUserData()
self.map_data = map.LITTLE_GAME_MAP_DATA[self.game_info[c.LITTLEGAME_NUM]]
pg.display.set_caption(f"pypvz: 冒险模式 {self.map_data[c.GAME_TITLE]}")
logger.warning("关卡数设定错误!进入默认的第一关!")
# 是否有铲子的信息无铲子时为0有铲子时为1故直接赋值即可
self.has_shovel = self.map_data[c.SHOVEL]
@ -287,7 +289,7 @@ class Level(tool.State):
zombie_nums = 0
for i in range(self.map_y_len):
zombie_nums += len(self.zombie_groups[i])
if (zombie_nums / self.zombie_num < random.uniform(0.15, 0.25)) and (current_time - self.wave_time > 4000):
if self.zombie_num and (zombie_nums / self.zombie_num < random.uniform(0.15, 0.25)) and (current_time - self.wave_time > 4000):
# 当僵尸所剩无几并且时间过了4000 ms以上时改变时间记录使得2000 ms后刷新僵尸所以需要判断剩余时间是否大于2000 ms
if self.bar_type == c.CHOOSEBAR_STATIC:
if current_time - 43000 < self.wave_time: # 判断剩余时间是否有2000 ms