将常数性质的json统一合并到python
This commit is contained in:
parent
7c50a29f9e
commit
8acb592508
@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"plant_image_rect":{
|
|
||||||
"PeaNormal":{"x":28, "y":0, "width":28, "height":34},
|
|
||||||
"PeaIce":{"x":26, "y":0, "width":30, "height":34},
|
|
||||||
"Chomper":{"x":0, "y":0, "width":100, "height":114},
|
|
||||||
"PuffShroom":{"x":0, "y":28, "width":35, "height":38},
|
|
||||||
"PuffShroomSleep":{"x":1, "y":0, "width":39, "height":65},
|
|
||||||
"BulletMushRoom":{"x":0, "y":1, "width":55, "height":21},
|
|
||||||
"BulletSeaShroom":{"x":0, "y":1, "width":55, "height":21},
|
|
||||||
"PotatoMine":{"x":0, "y":0, "width":75, "height":55},
|
|
||||||
"Squash":{"x":10, "y":140, "width":80, "height":86},
|
|
||||||
"SquashAim":{"x":10, "y":140, "width":80, "height":86},
|
|
||||||
"Spikeweed":{"x":3, "y":0, "width":80, "height":35}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,38 +0,0 @@
|
|||||||
{
|
|
||||||
"zombie_image_rect":{
|
|
||||||
"Zombie":{"x":62, "width":90},
|
|
||||||
"ZombieAttack":{"x":62, "width":90},
|
|
||||||
"ZombieLostHead":{"x":62, "width":90},
|
|
||||||
"ZombieLostHeadAttack":{"x":62, "width":90},
|
|
||||||
"ZombieDie":{"x":0, "width":164},
|
|
||||||
"BoomDie":{"x":68, "width":80},
|
|
||||||
"ConeheadZombie":{"x":80, "width":80},
|
|
||||||
"ConeheadZombieAttack":{"x":79, "width":87},
|
|
||||||
"BucketheadZombie":{"x":54, "width":90},
|
|
||||||
"BucketheadZombieAttack":{"x":46, "width":90},
|
|
||||||
"FlagZombie":{"x":56, "width":110},
|
|
||||||
"FlagZombieAttack":{"x":60, "width":100},
|
|
||||||
"FlagZombieLostHead":{"x":55, "width":110},
|
|
||||||
"FlagZombieLostHeadAttack":{"x":55, "width":110},
|
|
||||||
"NewspaperZombie":{"x":48, "width":92},
|
|
||||||
"NewspaperZombieAttack":{"x":48, "width":92},
|
|
||||||
"NewspaperZombieNoPaper":{"x":40, "width":98},
|
|
||||||
"NewspaperZombieNoPaperAttack":{"x":48, "width":92},
|
|
||||||
"NewspaperZombieLostHead":{"x":44, "width":96},
|
|
||||||
"NewspaperZombieLostHeadAttack":{"x":48, "width":92},
|
|
||||||
"NewspaperZombieDie":{"x":0, "width":100},
|
|
||||||
"DukyTubeZombie":{"x":55, "width":105},
|
|
||||||
"DukyTubeZombieAttack":{"x":55, "width":105},
|
|
||||||
"DukyTubeZombieDie":{"x":55, "width":105},
|
|
||||||
"DukyTubeZombieLostHead":{"x":55, "width":105},
|
|
||||||
"DukyTubeZombieSwim":{"x":55, "width":105},
|
|
||||||
"ConeheadDukyTubeZombie":{"x":55, "width":105},
|
|
||||||
"ConeheadDukyTubeZombieAttack":{"x":55, "width":105},
|
|
||||||
"ConeheadDukyTubeZombieSwim":{"x":55, "width":105},
|
|
||||||
"BucketheadDukyTubeZombie":{"x":55, "width":105},
|
|
||||||
"BucketheadDukyTubeZombieAttack":{"x":55, "width":105},
|
|
||||||
"BucketheadDukyTubeZombieSwim":{"x":55, "width":105},
|
|
||||||
"ScreenDoorZombie":{"x":41, "width":100},
|
|
||||||
"ScreenDoorZombieAttack":{"x":41, "width":100}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -64,8 +64,8 @@ class Bullet(pg.sprite.Sprite):
|
|||||||
|
|
||||||
def loadFrames(self, frames, name):
|
def loadFrames(self, frames, name):
|
||||||
frame_list = tool.GFX[name]
|
frame_list = tool.GFX[name]
|
||||||
if name in tool.PLANT_RECT:
|
if name in c.PLANT_RECT:
|
||||||
data = tool.PLANT_RECT[name]
|
data = c.PLANT_RECT[name]
|
||||||
x, y, width, height = data['x'], data['y'], data['width'], data['height']
|
x, y, width, height = data['x'], data['y'], data['width'], data['height']
|
||||||
else:
|
else:
|
||||||
x, y = 0, 0
|
x, y = 0, 0
|
||||||
@ -252,8 +252,8 @@ class Plant(pg.sprite.Sprite):
|
|||||||
|
|
||||||
def loadFrames(self, frames, name, scale=1, color=c.BLACK):
|
def loadFrames(self, frames, name, scale=1, color=c.BLACK):
|
||||||
frame_list = tool.GFX[name]
|
frame_list = tool.GFX[name]
|
||||||
if name in tool.PLANT_RECT:
|
if name in c.PLANT_RECT:
|
||||||
data = tool.PLANT_RECT[name]
|
data = c.PLANT_RECT[name]
|
||||||
x, y, width, height = data['x'], data['y'], data['width'], data['height']
|
x, y, width, height = data['x'], data['y'], data['width'], data['height']
|
||||||
else:
|
else:
|
||||||
x, y = 0, 0
|
x, y = 0, 0
|
||||||
|
|||||||
@ -59,8 +59,8 @@ class Zombie(pg.sprite.Sprite):
|
|||||||
frame_list = tool.GFX[name]
|
frame_list = tool.GFX[name]
|
||||||
rect = frame_list[0].get_rect()
|
rect = frame_list[0].get_rect()
|
||||||
width, height = rect.w, rect.h
|
width, height = rect.w, rect.h
|
||||||
if name in tool.ZOMBIE_RECT:
|
if name in c.ZOMBIE_RECT:
|
||||||
data = tool.ZOMBIE_RECT[name]
|
data = c.ZOMBIE_RECT[name]
|
||||||
x, width = data['x'], data['width']
|
x, width = data['x'], data['width']
|
||||||
else:
|
else:
|
||||||
x = 0
|
x = 0
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import os
|
|||||||
import pygame as pg
|
import pygame as pg
|
||||||
|
|
||||||
# 用户数据及日志存储路径
|
# 用户数据及日志存储路径
|
||||||
if os.name == 'nt': # Windows系统存储路径
|
if os.name == "nt": # Windows系统存储路径
|
||||||
USERDATA_PATH = os.path.expandvars(os.path.join("%APPDATA%", "wszqkzqk.dev", "pypvz", "userdata.json"))
|
USERDATA_PATH = os.path.expandvars(os.path.join("%APPDATA%", "wszqkzqk.dev", "pypvz", "userdata.json"))
|
||||||
USERLOG_PATH = os.path.expandvars(os.path.join("%APPDATA%", "wszqkzqk.dev", "pypvz", "run.log"))
|
USERLOG_PATH = os.path.expandvars(os.path.join("%APPDATA%", "wszqkzqk.dev", "pypvz", "run.log"))
|
||||||
else: # 非Windows系统存储路径
|
else: # 非Windows系统存储路径
|
||||||
@ -11,24 +11,18 @@ else: # 非Windows系统存储路径
|
|||||||
|
|
||||||
# 窗口图标
|
# 窗口图标
|
||||||
ORIGINAL_LOGO = os.path.join(os.path.dirname(os.path.dirname(__file__)), "pypvz-exec-logo.png")
|
ORIGINAL_LOGO = os.path.join(os.path.dirname(os.path.dirname(__file__)), "pypvz-exec-logo.png")
|
||||||
# 僵尸显示特殊定义文件路径
|
|
||||||
JSON_PATH_ZOMBIE = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'resources', 'data', 'entity', 'zombie.json')
|
|
||||||
# 植物显示特殊定义文件路径
|
|
||||||
JSON_PATH_PLANTS = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'resources', 'data', 'entity', 'plant.json')
|
|
||||||
# 游戏图片资源路径
|
# 游戏图片资源路径
|
||||||
PATH_IMG_DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)), "resources", "graphics")
|
PATH_IMG_DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)), "resources", "graphics")
|
||||||
# 游戏关卡地图文件夹路径
|
|
||||||
PATH_MAP_DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)), "resources", 'data', "map")
|
|
||||||
# 游戏音乐文件夹路径
|
# 游戏音乐文件夹路径
|
||||||
PATH_MUSIC_DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)), "resources","music")
|
PATH_MUSIC_DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)), "resources","music")
|
||||||
|
|
||||||
# 窗口标题
|
# 窗口标题
|
||||||
ORIGINAL_CAPTION = 'pypvz'
|
ORIGINAL_CAPTION = "pypvz"
|
||||||
|
|
||||||
# 游戏模式
|
# 游戏模式
|
||||||
GAME_MODE = 'mode'
|
GAME_MODE = "mode"
|
||||||
MODE_ADVENTURE = 'adventure'
|
MODE_ADVENTURE = "adventure"
|
||||||
MODE_LITTLEGAME = 'littleGame'
|
MODE_LITTLEGAME = "littleGame"
|
||||||
|
|
||||||
# 窗口大小
|
# 窗口大小
|
||||||
SCREEN_WIDTH = 800
|
SCREEN_WIDTH = 800
|
||||||
@ -36,7 +30,7 @@ SCREEN_HEIGHT = 600
|
|||||||
SCREEN_SIZE = (SCREEN_WIDTH, SCREEN_HEIGHT)
|
SCREEN_SIZE = (SCREEN_WIDTH, SCREEN_HEIGHT)
|
||||||
|
|
||||||
# 字体路径
|
# 字体路径
|
||||||
FONT_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'resources', 'DroidSansFallback.ttf')
|
FONT_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "resources", "DroidSansFallback.ttf")
|
||||||
|
|
||||||
# 选卡数量
|
# 选卡数量
|
||||||
# 最大数量
|
# 最大数量
|
||||||
@ -75,56 +69,56 @@ YELLOWGREEN = ( 55, 200, 0)
|
|||||||
LIGHTGRAY = (107, 108, 145)
|
LIGHTGRAY = (107, 108, 145)
|
||||||
|
|
||||||
# 退出游戏按钮
|
# 退出游戏按钮
|
||||||
EXIT = 'exit'
|
EXIT = "exit"
|
||||||
# 游戏界面可选的菜单
|
# 游戏界面可选的菜单
|
||||||
LITTLE_MENU = 'littleMenu'
|
LITTLE_MENU = "littleMenu"
|
||||||
BIG_MENU = 'bigMenu'
|
BIG_MENU = "bigMenu"
|
||||||
RESTART_BUTTON = 'restartButton'
|
RESTART_BUTTON = "restartButton"
|
||||||
MAINMENU_BUTTON = 'mainMenuButton'
|
MAINMENU_BUTTON = "mainMenuButton"
|
||||||
LITTLEGAME_BUTTON = 'littleGameButton'
|
LITTLEGAME_BUTTON = "littleGameButton"
|
||||||
OPTION_BUTTON = 'optionButton'
|
OPTION_BUTTON = "optionButton"
|
||||||
SOUND_VOLUME_BUTTON = 'volumeButton'
|
SOUND_VOLUME_BUTTON = "volumeButton"
|
||||||
# 金银向日葵奖杯
|
# 金银向日葵奖杯
|
||||||
TROPHY_SUNFLOWER = 'sunflowerTrophy'
|
TROPHY_SUNFLOWER = "sunflowerTrophy"
|
||||||
# 小铲子
|
# 小铲子
|
||||||
SHOVEL = 'shovel'
|
SHOVEL = "shovel"
|
||||||
SHOVEL_BOX = 'shovelBox'
|
SHOVEL_BOX = "shovelBox"
|
||||||
# 一大波僵尸来袭图片
|
# 一大波僵尸来袭图片
|
||||||
HUGE_WAVE_APPROCHING = 'Approching'
|
HUGE_WAVE_APPROCHING = "Approching"
|
||||||
# 关卡进程图片
|
# 关卡进程图片
|
||||||
LEVEL_PROGRESS_BAR = 'LevelProgressBar'
|
LEVEL_PROGRESS_BAR = "LevelProgressBar"
|
||||||
LEVEL_PROGRESS_ZOMBIE_HEAD = 'LevelProgressZombieHead'
|
LEVEL_PROGRESS_ZOMBIE_HEAD = "LevelProgressZombieHead"
|
||||||
LEVEL_PROGRESS_FLAG = 'LevelProgressFlag'
|
LEVEL_PROGRESS_FLAG = "LevelProgressFlag"
|
||||||
|
|
||||||
|
|
||||||
# GAME INFO字典键值
|
# GAME INFO字典键值
|
||||||
CURRENT_TIME = 'current time'
|
CURRENT_TIME = "current time"
|
||||||
LEVEL_NUM = 'level num'
|
LEVEL_NUM = "level num"
|
||||||
LITTLEGAME_NUM = 'littleGame num'
|
LITTLEGAME_NUM = "littleGame num"
|
||||||
LEVEL_COMPLETIONS = 'level completions'
|
LEVEL_COMPLETIONS = "level completions"
|
||||||
LITTLEGAME_COMPLETIONS = 'littleGame completions'
|
LITTLEGAME_COMPLETIONS = "littleGame completions"
|
||||||
GAME_RATE = 'game rate'
|
GAME_RATE = "game rate"
|
||||||
SOUND_VOLUME = 'volume'
|
SOUND_VOLUME = "volume"
|
||||||
|
|
||||||
# 整个游戏的状态
|
# 整个游戏的状态
|
||||||
MAIN_MENU = 'main menu'
|
MAIN_MENU = "main menu"
|
||||||
LOAD_SCREEN = 'load screen'
|
LOAD_SCREEN = "load screen"
|
||||||
GAME_LOSE = 'game los'
|
GAME_LOSE = "game los"
|
||||||
GAME_VICTORY = 'game victory'
|
GAME_VICTORY = "game victory"
|
||||||
LEVEL = 'level'
|
LEVEL = "level"
|
||||||
|
|
||||||
# 界面图片文件名
|
# 界面图片文件名
|
||||||
MAIN_MENU_IMAGE = 'MainMenu'
|
MAIN_MENU_IMAGE = "MainMenu"
|
||||||
OPTION_ADVENTURE = 'Adventure'
|
OPTION_ADVENTURE = "Adventure"
|
||||||
GAME_LOSE_IMAGE = 'GameLose'
|
GAME_LOSE_IMAGE = "GameLose"
|
||||||
GAME_VICTORY_IMAGE = 'GameVictory'
|
GAME_VICTORY_IMAGE = "GameVictory"
|
||||||
AWARD_SCREEN_IMAGE = 'AwardScreen'
|
AWARD_SCREEN_IMAGE = "AwardScreen"
|
||||||
|
|
||||||
# 地图相关内容
|
# 地图相关内容
|
||||||
BACKGROUND_NAME = 'Background'
|
BACKGROUND_NAME = "Background"
|
||||||
BACKGROUND_TYPE = 'background_type'
|
BACKGROUND_TYPE = "background_type"
|
||||||
INIT_SUN_NAME = 'init_sun_value'
|
INIT_SUN_NAME = "init_sun_value"
|
||||||
ZOMBIE_LIST = 'zombie_list'
|
ZOMBIE_LIST = "zombie_list"
|
||||||
|
|
||||||
# 地图类型
|
# 地图类型
|
||||||
BACKGROUND_DAY = 0
|
BACKGROUND_DAY = 0
|
||||||
@ -162,28 +156,28 @@ BACKGROUND_DAY_LIKE_BACKGROUNDS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# 夜晚地图的墓碑数量等级
|
# 夜晚地图的墓碑数量等级
|
||||||
GRADE_GRAVES = 'grade_graves'
|
GRADE_GRAVES = "grade_graves"
|
||||||
# 不同墓碑等级对应的信息,列表位置对应的是墓碑等级
|
# 不同墓碑等级对应的信息,列表位置对应的是墓碑等级
|
||||||
GRAVES_GRADE_INFO = (0, 4, 7, 11)
|
GRAVES_GRADE_INFO = (0, 4, 7, 11)
|
||||||
|
|
||||||
# 僵尸生成方式
|
# 僵尸生成方式
|
||||||
SPAWN_ZOMBIES = 'spawn_zombies'
|
SPAWN_ZOMBIES = "spawn_zombies"
|
||||||
SPAWN_ZOMBIES_AUTO = 'auto'
|
SPAWN_ZOMBIES_AUTO = "auto"
|
||||||
SPAWN_ZOMBIES_LIST = 'list'
|
SPAWN_ZOMBIES_LIST = "list"
|
||||||
INCLUDED_ZOMBIES = 'included_zombies'
|
INCLUDED_ZOMBIES = "included_zombies"
|
||||||
NUM_FLAGS = 'num_flags'
|
NUM_FLAGS = "num_flags"
|
||||||
INEVITABLE_ZOMBIE_DICT = 'inevitable_zombie_list'
|
INEVITABLE_ZOMBIE_DICT = "inevitable_zombie_list"
|
||||||
SURVIVAL_ROUNDS = 'survival_rounds'
|
SURVIVAL_ROUNDS = "survival_rounds"
|
||||||
|
|
||||||
# 地图单元格属性
|
# 地图单元格属性
|
||||||
MAP_PLANT = 'plantnames'
|
MAP_PLANT = "plantnames"
|
||||||
MAP_SLEEP = 'sleep' # 有没有休眠的蘑菇,作是否能种植咖啡豆的判断
|
MAP_SLEEP = "sleep" # 有没有休眠的蘑菇,作是否能种植咖啡豆的判断
|
||||||
MAP_PLOT_TYPE = 'plotType'
|
MAP_PLOT_TYPE = "plotType"
|
||||||
# 地图单元格区域类型
|
# 地图单元格区域类型
|
||||||
MAP_GRASS = 'grass'
|
MAP_GRASS = "grass"
|
||||||
MAP_WATER = 'water'
|
MAP_WATER = "water"
|
||||||
MAP_TILE = 'tile' # 指屋顶上的瓦片
|
MAP_TILE = "tile" # 指屋顶上的瓦片
|
||||||
MAP_UNAVAILABLE = 'unavailable' # 指完全不能种植物的地方,包括无草皮的荒地和坚果保龄球等红线右侧
|
MAP_UNAVAILABLE = "unavailable" # 指完全不能种植物的地方,包括无草皮的荒地和坚果保龄球等红线右侧
|
||||||
# 地图单元格状态
|
# 地图单元格状态
|
||||||
# 注意是可变对象,不能直接引用
|
# 注意是可变对象,不能直接引用
|
||||||
# 不喜欢用深拷贝,直接改用函数表示,需要时直接调用该函数生成即可
|
# 不喜欢用深拷贝,直接改用函数表示,需要时直接调用该函数生成即可
|
||||||
@ -204,15 +198,15 @@ MAP_ROOF_OFFSET_Y = 105 # 暂时还不清楚数据
|
|||||||
MAP_POOL_FRONT_X = SCREEN_WIDTH - 15
|
MAP_POOL_FRONT_X = SCREEN_WIDTH - 15
|
||||||
|
|
||||||
# 植物选择菜单栏、传送带菜单栏等类型设定
|
# 植物选择菜单栏、传送带菜单栏等类型设定
|
||||||
CHOOSEBAR_TYPE = 'choosebar_type'
|
CHOOSEBAR_TYPE = "choosebar_type"
|
||||||
CHOOSEBAR_STATIC = 0
|
CHOOSEBAR_STATIC = 0
|
||||||
CHOOSEBAR_MOVE = 1
|
CHOOSEBAR_MOVE = 1
|
||||||
CHOOSEBAR_BOWLING = 2
|
CHOOSEBAR_BOWLING = 2
|
||||||
MENUBAR_BACKGROUND = 'ChooserBackground'
|
MENUBAR_BACKGROUND = "ChooserBackground"
|
||||||
MOVEBAR_BACKGROUND = 'MoveBackground'
|
MOVEBAR_BACKGROUND = "MoveBackground"
|
||||||
PANEL_BACKGROUND = 'PanelBackground'
|
PANEL_BACKGROUND = "PanelBackground"
|
||||||
START_BUTTON = 'StartButton'
|
START_BUTTON = "StartButton"
|
||||||
CARD_POOL = 'card_pool'
|
CARD_POOL = "card_pool"
|
||||||
|
|
||||||
# 关于植物栏的像素设置
|
# 关于植物栏的像素设置
|
||||||
PANEL_Y_START = 87
|
PANEL_Y_START = 87
|
||||||
@ -232,145 +226,145 @@ MOVEBAR_CARD_FRESH_TIME = 6000
|
|||||||
CARD_MOVE_TIME = 60
|
CARD_MOVE_TIME = 60
|
||||||
|
|
||||||
# 其他显示物
|
# 其他显示物
|
||||||
CAR = 'car'
|
CAR = "car"
|
||||||
SUN = 'Sun'
|
SUN = "Sun"
|
||||||
|
|
||||||
# plant子类非植物对象
|
# plant子类非植物对象
|
||||||
NON_PLANT_OBJECTS = {
|
NON_PLANT_OBJECTS = {
|
||||||
HOLE := 'Hole',
|
HOLE := "Hole",
|
||||||
ICEFROZENPLOT := 'IceFrozenPlot',
|
ICEFROZENPLOT := "IceFrozenPlot",
|
||||||
GRAVE := 'Grave',
|
GRAVE := "Grave",
|
||||||
}
|
}
|
||||||
|
|
||||||
# 植物相关信息
|
# 植物相关信息
|
||||||
PLANT_IMAGE_RECT = 'plant_image_rect'
|
PLANT_IMAGE_RECT = "plant_image_rect"
|
||||||
BOOM_IMAGE = 'Boom'
|
BOOM_IMAGE = "Boom"
|
||||||
|
|
||||||
# 植物卡片信息汇总(包括植物名称, 卡片名称, 阳光, 冷却时间)
|
# 植物卡片信息汇总(包括植物名称, 卡片名称, 阳光, 冷却时间)
|
||||||
PLANT_CARD_INFO = (# 元组 (植物名称, 卡片名称, 阳光, 冷却时间)
|
PLANT_CARD_INFO = (# 元组 (植物名称, 卡片名称, 阳光, 冷却时间)
|
||||||
(PEASHOOTER := 'Peashooter',
|
(PEASHOOTER := "Peashooter",
|
||||||
CARD_PEASHOOTER := 'card_peashooter',
|
CARD_PEASHOOTER := "card_peashooter",
|
||||||
100,
|
100,
|
||||||
7500),
|
7500),
|
||||||
(SUNFLOWER := 'SunFlower',
|
(SUNFLOWER := "SunFlower",
|
||||||
CARD_SUNFLOWER := 'card_sunflower',
|
CARD_SUNFLOWER := "card_sunflower",
|
||||||
50,
|
50,
|
||||||
7500),
|
7500),
|
||||||
(CHERRYBOMB := 'CherryBomb',
|
(CHERRYBOMB := "CherryBomb",
|
||||||
CARD_CHERRYBOMB := 'card_cherrybomb',
|
CARD_CHERRYBOMB := "card_cherrybomb",
|
||||||
150,
|
150,
|
||||||
50000),
|
50000),
|
||||||
(WALLNUT := 'WallNut',
|
(WALLNUT := "WallNut",
|
||||||
CARD_WALLNUT := 'card_wallnut',
|
CARD_WALLNUT := "card_wallnut",
|
||||||
50,
|
50,
|
||||||
30000),
|
30000),
|
||||||
(POTATOMINE := 'PotatoMine',
|
(POTATOMINE := "PotatoMine",
|
||||||
CARD_POTATOMINE := 'card_potatomine',
|
CARD_POTATOMINE := "card_potatomine",
|
||||||
25,
|
25,
|
||||||
30000),
|
30000),
|
||||||
(SNOWPEASHOOTER := 'SnowPea',
|
(SNOWPEASHOOTER := "SnowPea",
|
||||||
CARD_SNOWPEASHOOTER := 'card_snowpea',
|
CARD_SNOWPEASHOOTER := "card_snowpea",
|
||||||
175,
|
175,
|
||||||
7500),
|
7500),
|
||||||
(CHOMPER := 'Chomper',
|
(CHOMPER := "Chomper",
|
||||||
CARD_CHOMPER := 'card_chomper',
|
CARD_CHOMPER := "card_chomper",
|
||||||
150,
|
150,
|
||||||
7500),
|
7500),
|
||||||
(REPEATERPEA := 'RepeaterPea',
|
(REPEATERPEA := "RepeaterPea",
|
||||||
CARD_REPEATERPEA := 'card_repeaterpea',
|
CARD_REPEATERPEA := "card_repeaterpea",
|
||||||
200,
|
200,
|
||||||
7500),
|
7500),
|
||||||
(PUFFSHROOM := 'PuffShroom',
|
(PUFFSHROOM := "PuffShroom",
|
||||||
CARD_PUFFSHROOM := 'card_puffshroom',
|
CARD_PUFFSHROOM := "card_puffshroom",
|
||||||
0,
|
0,
|
||||||
7500),
|
7500),
|
||||||
(SUNSHROOM := 'SunShroom',
|
(SUNSHROOM := "SunShroom",
|
||||||
CARD_SUNSHROOM := 'card_sunshroom',
|
CARD_SUNSHROOM := "card_sunshroom",
|
||||||
25,
|
25,
|
||||||
7500),
|
7500),
|
||||||
(FUMESHROOM := 'FumeShroom',
|
(FUMESHROOM := "FumeShroom",
|
||||||
CARD_FUMESHROOM := 'card_fumeshroom',
|
CARD_FUMESHROOM := "card_fumeshroom",
|
||||||
75,
|
75,
|
||||||
7500),
|
7500),
|
||||||
(GRAVEBUSTER := 'GraveBuster',
|
(GRAVEBUSTER := "GraveBuster",
|
||||||
CARD_GRAVEBUSTER := 'card_gravebuster',
|
CARD_GRAVEBUSTER := "card_gravebuster",
|
||||||
75,
|
75,
|
||||||
7500),
|
7500),
|
||||||
(HYPNOSHROOM := 'HypnoShroom',
|
(HYPNOSHROOM := "HypnoShroom",
|
||||||
CARD_HYPNOSHROOM := 'card_hypnoshroom',
|
CARD_HYPNOSHROOM := "card_hypnoshroom",
|
||||||
75,
|
75,
|
||||||
30000),
|
30000),
|
||||||
(SCAREDYSHROOM := 'ScaredyShroom',
|
(SCAREDYSHROOM := "ScaredyShroom",
|
||||||
CARD_SCAREDYSHROOM := 'card_scaredyshroom',
|
CARD_SCAREDYSHROOM := "card_scaredyshroom",
|
||||||
25,
|
25,
|
||||||
7500),
|
7500),
|
||||||
(ICESHROOM := 'IceShroom',
|
(ICESHROOM := "IceShroom",
|
||||||
CARD_ICESHROOM := 'card_iceshroom',
|
CARD_ICESHROOM := "card_iceshroom",
|
||||||
75,
|
75,
|
||||||
50000),
|
50000),
|
||||||
(DOOMSHROOM := 'DoomShroom',
|
(DOOMSHROOM := "DoomShroom",
|
||||||
CARD_DOOMSHROOM := 'card_doomshroom',
|
CARD_DOOMSHROOM := "card_doomshroom",
|
||||||
75,
|
75,
|
||||||
50000),
|
50000),
|
||||||
(LILYPAD := 'LilyPad',
|
(LILYPAD := "LilyPad",
|
||||||
CARD_LILYPAD := 'card_lilypad',
|
CARD_LILYPAD := "card_lilypad",
|
||||||
25,
|
25,
|
||||||
7500),
|
7500),
|
||||||
(SQUASH := 'Squash',
|
(SQUASH := "Squash",
|
||||||
CARD_SQUASH := 'card_squash',
|
CARD_SQUASH := "card_squash",
|
||||||
50,
|
50,
|
||||||
30000),
|
30000),
|
||||||
(TANGLEKLEP := 'TangleKlep',
|
(TANGLEKLEP := "TangleKlep",
|
||||||
CARD_TANGLEKLEP := 'card_tangleklep',
|
CARD_TANGLEKLEP := "card_tangleklep",
|
||||||
25,
|
25,
|
||||||
30000),
|
30000),
|
||||||
(THREEPEASHOOTER := 'Threepeater',
|
(THREEPEASHOOTER := "Threepeater",
|
||||||
CARD_THREEPEASHOOTER := 'card_threepeashooter',
|
CARD_THREEPEASHOOTER := "card_threepeashooter",
|
||||||
325,
|
325,
|
||||||
7500),
|
7500),
|
||||||
(JALAPENO := 'Jalapeno',
|
(JALAPENO := "Jalapeno",
|
||||||
CARD_JALAPENO := 'card_jalapeno',
|
CARD_JALAPENO := "card_jalapeno",
|
||||||
125,
|
125,
|
||||||
50000),
|
50000),
|
||||||
(SPIKEWEED := 'Spikeweed',
|
(SPIKEWEED := "Spikeweed",
|
||||||
CARD_SPIKEWEED := 'card_spikeweed',
|
CARD_SPIKEWEED := "card_spikeweed",
|
||||||
100,
|
100,
|
||||||
7500),
|
7500),
|
||||||
(TORCHWOOD := 'TorchWood',
|
(TORCHWOOD := "TorchWood",
|
||||||
CARD_TORCHWOOD := 'card_torchwood',
|
CARD_TORCHWOOD := "card_torchwood",
|
||||||
175,
|
175,
|
||||||
7500),
|
7500),
|
||||||
(TALLNUT := 'TallNut',
|
(TALLNUT := "TallNut",
|
||||||
CARD_TALLNUT := 'card_tallnut',
|
CARD_TALLNUT := "card_tallnut",
|
||||||
125,
|
125,
|
||||||
30000),
|
30000),
|
||||||
(SEASHROOM := 'SeaShroom',
|
(SEASHROOM := "SeaShroom",
|
||||||
CARD_SEASHROOM := 'card_seashroom',
|
CARD_SEASHROOM := "card_seashroom",
|
||||||
0,
|
0,
|
||||||
30000),
|
30000),
|
||||||
(STARFRUIT := 'StarFruit',
|
(STARFRUIT := "StarFruit",
|
||||||
CARD_STARFRUIT := 'card_starfruit',
|
CARD_STARFRUIT := "card_starfruit",
|
||||||
125,
|
125,
|
||||||
7500),
|
7500),
|
||||||
(PUMPKINHEAD := 'PumpkinHead',
|
(PUMPKINHEAD := "PumpkinHead",
|
||||||
CARD_PUMPKINHEAD := 'card_pumpkinhead',
|
CARD_PUMPKINHEAD := "card_pumpkinhead",
|
||||||
125,
|
125,
|
||||||
30000),
|
30000),
|
||||||
(COFFEEBEAN := 'CoffeeBean',
|
(COFFEEBEAN := "CoffeeBean",
|
||||||
CARD_COFFEEBEAN := 'card_coffeebean',
|
CARD_COFFEEBEAN := "card_coffeebean",
|
||||||
75,
|
75,
|
||||||
7500),
|
7500),
|
||||||
(GARLIC := 'Garlic',
|
(GARLIC := "Garlic",
|
||||||
CARD_GARLIC := 'card_garlic',
|
CARD_GARLIC := "card_garlic",
|
||||||
50,
|
50,
|
||||||
7500),
|
7500),
|
||||||
# 应当保证这两个在一般模式下不可选的特殊植物恒在最后
|
# 应当保证这两个在一般模式下不可选的特殊植物恒在最后
|
||||||
(WALLNUTBOWLING := 'WallNutBowling',
|
(WALLNUTBOWLING := "WallNutBowling",
|
||||||
CARD_WALLNUT := 'card_wallnut',
|
CARD_WALLNUT := "card_wallnut",
|
||||||
0,
|
0,
|
||||||
0),
|
0),
|
||||||
(REDWALLNUTBOWLING := 'RedWallNutBowling',
|
(REDWALLNUTBOWLING := "RedWallNutBowling",
|
||||||
CARD_REDWALLNUT := 'card_redwallnut',
|
CARD_REDWALLNUT := "card_redwallnut",
|
||||||
0,
|
0,
|
||||||
0),
|
0),
|
||||||
)
|
)
|
||||||
@ -468,61 +462,61 @@ SUN_VALUE = 25
|
|||||||
# 僵尸冷冻
|
# 僵尸冷冻
|
||||||
ICE_SLOW_TIME = 10000
|
ICE_SLOW_TIME = 10000
|
||||||
MIN_FREEZE_TIME = 4000
|
MIN_FREEZE_TIME = 4000
|
||||||
ICETRAP = 'IceTrap'
|
ICETRAP = "IceTrap"
|
||||||
|
|
||||||
# 子弹信息
|
# 子弹信息
|
||||||
# 子弹类型
|
# 子弹类型
|
||||||
BULLET_PEA = 'PeaNormal'
|
BULLET_PEA = "PeaNormal"
|
||||||
BULLET_PEA_ICE = 'PeaIce'
|
BULLET_PEA_ICE = "PeaIce"
|
||||||
BULLET_FIREBALL = 'Fireball'
|
BULLET_FIREBALL = "Fireball"
|
||||||
BULLET_MUSHROOM = 'BulletMushRoom'
|
BULLET_MUSHROOM = "BulletMushRoom"
|
||||||
BULLET_SEASHROOM = 'BulletSeaShroom'
|
BULLET_SEASHROOM = "BulletSeaShroom"
|
||||||
FUME = 'Fume'
|
FUME = "Fume"
|
||||||
# 子弹伤害
|
# 子弹伤害
|
||||||
BULLET_DAMAGE_NORMAL = 20
|
BULLET_DAMAGE_NORMAL = 20
|
||||||
BULLET_DAMAGE_FIREBALL_BODY = 27 # 这是火球本体的伤害,注意不是40,本体(27) + 溅射(13)才是40
|
BULLET_DAMAGE_FIREBALL_BODY = 27 # 这是火球本体的伤害,注意不是40,本体(27) + 溅射(13)才是40
|
||||||
BULLET_DAMAGE_FIREBALL_RANGE = 13
|
BULLET_DAMAGE_FIREBALL_RANGE = 13
|
||||||
# 子弹效果
|
# 子弹效果
|
||||||
BULLET_EFFECT_ICE = 'ice'
|
BULLET_EFFECT_ICE = "ice"
|
||||||
BULLET_EFFECT_UNICE = 'unice'
|
BULLET_EFFECT_UNICE = "unice"
|
||||||
|
|
||||||
# 特殊子弹
|
# 特殊子弹
|
||||||
# 杨桃子弹
|
# 杨桃子弹
|
||||||
# 子弹名称
|
# 子弹名称
|
||||||
BULLET_STAR = 'StarBullet'
|
BULLET_STAR = "StarBullet"
|
||||||
# 子弹方向
|
# 子弹方向
|
||||||
STAR_FORWARD_UP = 'forwardUp' # 向前上方
|
STAR_FORWARD_UP = "forwardUp" # 向前上方
|
||||||
STAR_FORWARD_DOWN = 'forwardDown' #向前下方
|
STAR_FORWARD_DOWN = "forwardDown" #向前下方
|
||||||
STAR_BACKWARD = 'backward' #向后
|
STAR_BACKWARD = "backward" #向后
|
||||||
STAR_UPWARD = 'upward' # 向上
|
STAR_UPWARD = "upward" # 向上
|
||||||
STAR_DOWNWARD = 'downward' # 向下
|
STAR_DOWNWARD = "downward" # 向下
|
||||||
|
|
||||||
# 僵尸信息
|
# 僵尸信息
|
||||||
ZOMBIE_IMAGE_RECT = 'zombie_image_rect'
|
ZOMBIE_IMAGE_RECT = "zombie_image_rect"
|
||||||
ZOMBIE_HEAD = 'ZombieHead'
|
ZOMBIE_HEAD = "ZombieHead"
|
||||||
NORMAL_ZOMBIE = 'Zombie'
|
NORMAL_ZOMBIE = "Zombie"
|
||||||
CONEHEAD_ZOMBIE = 'ConeheadZombie'
|
CONEHEAD_ZOMBIE = "ConeheadZombie"
|
||||||
BUCKETHEAD_ZOMBIE = 'BucketheadZombie'
|
BUCKETHEAD_ZOMBIE = "BucketheadZombie"
|
||||||
FLAG_ZOMBIE = 'FlagZombie'
|
FLAG_ZOMBIE = "FlagZombie"
|
||||||
NEWSPAPER_ZOMBIE = 'NewspaperZombie'
|
NEWSPAPER_ZOMBIE = "NewspaperZombie"
|
||||||
FOOTBALL_ZOMBIE = 'FootballZombie'
|
FOOTBALL_ZOMBIE = "FootballZombie"
|
||||||
DUCKY_TUBE_ZOMBIE = 'DuckyTubeZombie'
|
DUCKY_TUBE_ZOMBIE = "DuckyTubeZombie"
|
||||||
CONEHEAD_DUCKY_TUBE_ZOMBIE = 'ConeheadDuckyTubeZombie'
|
CONEHEAD_DUCKY_TUBE_ZOMBIE = "ConeheadDuckyTubeZombie"
|
||||||
BUCKETHEAD_DUCKY_TUBE_ZOMBIE = 'BucketheadDuckyTubeZombie'
|
BUCKETHEAD_DUCKY_TUBE_ZOMBIE = "BucketheadDuckyTubeZombie"
|
||||||
SCREEN_DOOR_ZOMBIE = 'ScreenDoorZombie'
|
SCREEN_DOOR_ZOMBIE = "ScreenDoorZombie"
|
||||||
POLE_VAULTING_ZOMBIE = 'PoleVaultingZombie'
|
POLE_VAULTING_ZOMBIE = "PoleVaultingZombie"
|
||||||
ZOMBONI = 'Zomboni'
|
ZOMBONI = "Zomboni"
|
||||||
SNORKELZOMBIE = 'SnorkelZombie'
|
SNORKELZOMBIE = "SnorkelZombie"
|
||||||
|
|
||||||
BOOMDIE = 'BoomDie'
|
BOOMDIE = "BoomDie"
|
||||||
|
|
||||||
# 对僵尸的攻击类型设置
|
# 对僵尸的攻击类型设置
|
||||||
ZOMBIE_DEAFULT_DAMAGE = 'helmet2First'
|
ZOMBIE_DEAFULT_DAMAGE = "helmet2First"
|
||||||
ZOMBIE_HELMET_2_FIRST = 'helmet2First' # 优先攻击二类防具
|
ZOMBIE_HELMET_2_FIRST = "helmet2First" # 优先攻击二类防具
|
||||||
ZOMBIE_COMMON_DAMAGE = 'commonDamage' # 优先攻击僵尸与一类防具的整体
|
ZOMBIE_COMMON_DAMAGE = "commonDamage" # 优先攻击僵尸与一类防具的整体
|
||||||
ZOMBIE_RANGE_DAMAGE = 'rangeDamage' # 范围攻击,同时伤害二类防具与(僵尸与一类防具的整体)
|
ZOMBIE_RANGE_DAMAGE = "rangeDamage" # 范围攻击,同时伤害二类防具与(僵尸与一类防具的整体)
|
||||||
ZOMBIE_ASH_DAMAGE = 'ashDamage' # 灰烬植物攻击,直接伤害本体
|
ZOMBIE_ASH_DAMAGE = "ashDamage" # 灰烬植物攻击,直接伤害本体
|
||||||
ZOMBIE_WALLNUT_BOWLING_DANMAGE = 'wallnutBowlingDamage' # 坚果保龄球冲撞伤害
|
ZOMBIE_WALLNUT_BOWLING_DANMAGE = "wallnutBowlingDamage" # 坚果保龄球冲撞伤害
|
||||||
|
|
||||||
# 僵尸生命值设置
|
# 僵尸生命值设置
|
||||||
# 有关本体
|
# 有关本体
|
||||||
@ -585,21 +579,68 @@ WATER_ZOMBIE = {
|
|||||||
|
|
||||||
|
|
||||||
# 状态类型
|
# 状态类型
|
||||||
IDLE = 'idle'
|
IDLE = "idle"
|
||||||
FLY = 'fly'
|
FLY = "fly"
|
||||||
EXPLODE = 'explode'
|
EXPLODE = "explode"
|
||||||
ATTACK = 'attack'
|
ATTACK = "attack"
|
||||||
ATTACKED = 'attacked'
|
ATTACKED = "attacked"
|
||||||
DIGEST = 'digest'
|
DIGEST = "digest"
|
||||||
WALK = 'walk'
|
WALK = "walk"
|
||||||
DIE = 'die'
|
DIE = "die"
|
||||||
CRY = 'cry'
|
CRY = "cry"
|
||||||
FREEZE = 'freeze'
|
FREEZE = "freeze"
|
||||||
SLEEP = 'sleep'
|
SLEEP = "sleep"
|
||||||
|
|
||||||
# 关卡状态
|
# 关卡状态
|
||||||
CHOOSE = 'choose'
|
CHOOSE = "choose"
|
||||||
PLAY = 'play'
|
PLAY = "play"
|
||||||
|
|
||||||
|
# 加载矩形碰撞范围 用于消除文件边框影响
|
||||||
|
# 植物
|
||||||
|
PLANT_RECT = {
|
||||||
|
BULLET_PEA: {"x":28, "y":0, "width":28, "height":34},
|
||||||
|
BULLET_PEA_ICE: {"x":26, "y":0, "width":30, "height":34},
|
||||||
|
CHOMPER: {"x":0, "y":0, "width":100, "height":114},
|
||||||
|
PUFFSHROOM: {"x":0, "y":28, "width":35, "height":38},
|
||||||
|
f"{PUFFSHROOM}Sleep": {"x":1, "y":0, "width":39, "height":65},
|
||||||
|
BULLET_MUSHROOM: {"x":0, "y":1, "width":55, "height":21},
|
||||||
|
BULLET_SEASHROOM: {"x":0, "y":1, "width":55, "height":21},
|
||||||
|
POTATOMINE: {"x":0, "y":0, "width":75, "height":55},
|
||||||
|
SQUASH: {"x":10, "y":140, "width":80, "height":86},
|
||||||
|
f"{SQUASH}Aim": {"x":10, "y":140, "width":80, "height":86},
|
||||||
|
SPIKEWEED: {"x":3, "y":0, "width":80, "height":35}
|
||||||
|
}
|
||||||
|
# 僵尸
|
||||||
|
ZOMBIE_RECT = {
|
||||||
|
NORMAL_ZOMBIE: {"x":62, "width":90},
|
||||||
|
f"{NORMAL_ZOMBIE}Attack": {"x":62, "width":90},
|
||||||
|
f"{NORMAL_ZOMBIE}LostHead": {"x":62, "width":90},
|
||||||
|
f"{NORMAL_ZOMBIE}LostHeadAttack":{"x":62, "width":90},
|
||||||
|
f"{NORMAL_ZOMBIE}Die": {"x":0, "width":164},
|
||||||
|
BOOMDIE: {"x":68, "width":80},
|
||||||
|
CONEHEAD_ZOMBIE: {"x":80, "width":80},
|
||||||
|
f"{CONEHEAD_ZOMBIE}Attack": {"x":79, "width":87},
|
||||||
|
BUCKETHEAD_ZOMBIE: {"x":54, "width":90},
|
||||||
|
f"{BUCKETHEAD_ZOMBIE}Attack": {"x":46, "width":90},
|
||||||
|
FLAG_ZOMBIE: {"x":56, "width":110},
|
||||||
|
f"{FLAG_ZOMBIE}Attack": {"x":60, "width":100},
|
||||||
|
f"{FLAG_ZOMBIE}LostHead": {"x":55, "width":110},
|
||||||
|
f"{FLAG_ZOMBIE}LostHeadAttack": {"x":55, "width":110},
|
||||||
|
NEWSPAPER_ZOMBIE: {"x":48, "width":92},
|
||||||
|
f"{NEWSPAPER_ZOMBIE}Attack": {"x":48, "width":92},
|
||||||
|
f"{NEWSPAPER_ZOMBIE}NoPaper": {"x":40, "width":98},
|
||||||
|
f"{NEWSPAPER_ZOMBIE}NoPaperAttack":{"x":48, "width":92},
|
||||||
|
f"{NEWSPAPER_ZOMBIE}LostHead": {"x":44, "width":96},
|
||||||
|
f"{NEWSPAPER_ZOMBIE}LostHeadAttack":{"x":48, "width":92},
|
||||||
|
f"{NEWSPAPER_ZOMBIE}Die": {"x":0, "width":100},
|
||||||
|
f"{DUCKY_TUBE_ZOMBIE}Die": {"x":55, "width":105},
|
||||||
|
f"{DUCKY_TUBE_ZOMBIE}LostHead": {"x":55, "width":105},
|
||||||
|
SCREEN_DOOR_ZOMBIE: {"x":41, "width":100},
|
||||||
|
f"{SCREEN_DOOR_ZOMBIE}Attack": {"x":41, "width":100},
|
||||||
|
} # 这里还有懒得写代码的补加,用循环实现
|
||||||
|
for _part1 in (DUCKY_TUBE_ZOMBIE, CONEHEAD_DUCKY_TUBE_ZOMBIE, BUCKETHEAD_DUCKY_TUBE_ZOMBIE):
|
||||||
|
for _part2 in ("", "Attack", "Swim"):
|
||||||
|
ZOMBIE_RECT[f"{_part1}{_part2}"] = {"x":55, "width":105}
|
||||||
|
|
||||||
# 音效
|
# 音效
|
||||||
def _getSound(filename):
|
def _getSound(filename):
|
||||||
|
|||||||
@ -1002,8 +1002,8 @@ class Level(tool.State):
|
|||||||
|
|
||||||
def setupMouseImage(self, plant_name, select_plant, colorkey=c.BLACK):
|
def setupMouseImage(self, plant_name, select_plant, colorkey=c.BLACK):
|
||||||
frame_list = tool.GFX[plant_name]
|
frame_list = tool.GFX[plant_name]
|
||||||
if plant_name in tool.PLANT_RECT:
|
if plant_name in c.PLANT_RECT:
|
||||||
data = tool.PLANT_RECT[plant_name]
|
data = c.PLANT_RECT[plant_name]
|
||||||
x, y, width, height = data['x'], data['y'], data['width'], data['height']
|
x, y, width, height = data['x'], data['y'], data['width'], data['height']
|
||||||
else:
|
else:
|
||||||
x, y = 0, 0
|
x, y = 0, 0
|
||||||
|
|||||||
@ -212,18 +212,6 @@ def load_all_gfx(directory, colorkey=c.WHITE, accept=('.png', '.jpg', '.bmp', '.
|
|||||||
graphics[name] = img
|
graphics[name] = img
|
||||||
return graphics
|
return graphics
|
||||||
|
|
||||||
# 从文件加载矩形碰撞范围
|
|
||||||
# 用于消除文件边框影响
|
|
||||||
def loadZombieImageRect():
|
|
||||||
with open(c.JSON_PATH_ZOMBIE) as f:
|
|
||||||
data = json.load(f)
|
|
||||||
return data[c.ZOMBIE_IMAGE_RECT]
|
|
||||||
|
|
||||||
def loadPlantImageRect():
|
|
||||||
with open(c.JSON_PATH_PLANTS) as f:
|
|
||||||
data = json.load(f)
|
|
||||||
return data[c.PLANT_IMAGE_RECT]
|
|
||||||
|
|
||||||
pg.display.set_caption(c.ORIGINAL_CAPTION) # 设置标题
|
pg.display.set_caption(c.ORIGINAL_CAPTION) # 设置标题
|
||||||
SCREEN = pg.display.set_mode(c.SCREEN_SIZE) # 设置初始屏幕
|
SCREEN = pg.display.set_mode(c.SCREEN_SIZE) # 设置初始屏幕
|
||||||
pg.mixer.set_num_channels(255) # 设置可以同时播放的音频数量,默认为8,经常不够用
|
pg.mixer.set_num_channels(255) # 设置可以同时播放的音频数量,默认为8,经常不够用
|
||||||
@ -231,5 +219,3 @@ if os.path.exists(c.ORIGINAL_LOGO): # 设置窗口图标,仅对非Nuitka时
|
|||||||
pg.display.set_icon(pg.image.load(c.ORIGINAL_LOGO))
|
pg.display.set_icon(pg.image.load(c.ORIGINAL_LOGO))
|
||||||
|
|
||||||
GFX = load_all_gfx(c.PATH_IMG_DIR)
|
GFX = load_all_gfx(c.PATH_IMG_DIR)
|
||||||
ZOMBIE_RECT = loadZombieImageRect()
|
|
||||||
PLANT_RECT = loadPlantImageRect()
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user