统一形式
This commit is contained in:
parent
1df7d937f4
commit
dd7c81f45f
@ -1770,7 +1770,7 @@ class FumeShroom(Plant):
|
|||||||
|
|
||||||
class IceFrozenPlot(Plant):
|
class IceFrozenPlot(Plant):
|
||||||
def __init__(self, x, y):
|
def __init__(self, x, y):
|
||||||
Plant.__init__(self, x, y, c.ICE_FROZEN_PLOT, c.INF, None)
|
Plant.__init__(self, x, y, c.ICEFROZENPLOT, c.INF, None)
|
||||||
self.timer = 0
|
self.timer = 0
|
||||||
|
|
||||||
def idling(self):
|
def idling(self):
|
||||||
|
|||||||
@ -1116,10 +1116,10 @@ class Zomboni(Zombie):
|
|||||||
# 造冰
|
# 造冰
|
||||||
mapX, mapY = self.map.getMapIndex(self.rect.right - 40, self.rect.bottom)
|
mapX, mapY = self.map.getMapIndex(self.rect.right - 40, self.rect.bottom)
|
||||||
if 0 <= mapX < c.GRID_X_LEN:
|
if 0 <= mapX < c.GRID_X_LEN:
|
||||||
if c.ICE_FROZEN_PLOT not in self.map.map[mapY][mapX]:
|
if c.ICEFROZENPLOT not in self.map.map[mapY][mapX]:
|
||||||
x, y = self.map.getMapGridPos(mapX, mapY)
|
x, y = self.map.getMapGridPos(mapX, mapY)
|
||||||
self.plant_group.add(self.IceFrozenPlot(x, y))
|
self.plant_group.add(self.IceFrozenPlot(x, y))
|
||||||
self.map.map[mapY][mapX][c.MAP_PLANT].add(c.ICE_FROZEN_PLOT)
|
self.map.map[mapY][mapX][c.MAP_PLANT].add(c.ICEFROZENPLOT)
|
||||||
|
|
||||||
self.speed = max(0.6, 1.5 - (c.GRID_X_LEN + 1 - mapX)*0.225)
|
self.speed = max(0.6, 1.5 - (c.GRID_X_LEN + 1 - mapX)*0.225)
|
||||||
|
|
||||||
|
|||||||
@ -193,7 +193,7 @@ PANEL_Y_INTERNAL = 69
|
|||||||
PANEL_X_INTERNAL = 53
|
PANEL_X_INTERNAL = 53
|
||||||
BAR_CARD_X_INTERNAL = 51
|
BAR_CARD_X_INTERNAL = 51
|
||||||
|
|
||||||
# 所选植物信息索引
|
# 植物卡片信息索引
|
||||||
PLANT_NAME_INDEX = 0
|
PLANT_NAME_INDEX = 0
|
||||||
CARD_INDEX = 1
|
CARD_INDEX = 1
|
||||||
SUN_INDEX = 2
|
SUN_INDEX = 2
|
||||||
@ -237,7 +237,7 @@ SEASHROOM = 'SeaShroom'
|
|||||||
TALLNUT = 'TallNut'
|
TALLNUT = 'TallNut'
|
||||||
TANGLEKLEP = 'TangleKlep'
|
TANGLEKLEP = 'TangleKlep'
|
||||||
DOOMSHROOM = 'DoomShroom'
|
DOOMSHROOM = 'DoomShroom'
|
||||||
ICE_FROZEN_PLOT = 'IceFrozenPlot'
|
ICEFROZENPLOT = 'IceFrozenPlot'
|
||||||
HOLE = 'Hole'
|
HOLE = 'Hole'
|
||||||
GRAVE = 'Grave'
|
GRAVE = 'Grave'
|
||||||
GRAVEBUSTER = 'GraveBuster'
|
GRAVEBUSTER = 'GraveBuster'
|
||||||
@ -246,9 +246,9 @@ GARLIC = 'Garlic'
|
|||||||
|
|
||||||
|
|
||||||
# 植物集体属性集合
|
# 植物集体属性集合
|
||||||
# 在生效时不用与僵尸进行碰撞检测的对象
|
# 在生效时不用与僵尸进行碰撞检测的对象(即生效时不可发生被僵尸啃食的事件)
|
||||||
SKIP_ZOMBIE_COLLISION_CHECK_WHEN_WORKING = {
|
SKIP_ZOMBIE_COLLISION_CHECK_WHEN_WORKING = {
|
||||||
# 注意爆炸坚果的触发也是啃食类碰撞,因此这里不能省略
|
# 注意爆炸坚果的触发也是啃食类碰撞,因此只能算作爆炸后不检测
|
||||||
SQUASH, ICESHROOM,
|
SQUASH, ICESHROOM,
|
||||||
REDWALLNUTBOWLING, CHERRYBOMB,
|
REDWALLNUTBOWLING, CHERRYBOMB,
|
||||||
JALAPENO, DOOMSHROOM,
|
JALAPENO, DOOMSHROOM,
|
||||||
@ -257,12 +257,15 @@ SKIP_ZOMBIE_COLLISION_CHECK_WHEN_WORKING = {
|
|||||||
|
|
||||||
# 非植物对象
|
# 非植物对象
|
||||||
NON_PLANT_OBJECTS = {
|
NON_PLANT_OBJECTS = {
|
||||||
HOLE, ICE_FROZEN_PLOT,
|
HOLE, ICEFROZENPLOT,
|
||||||
GRAVE,
|
GRAVE,
|
||||||
}
|
}
|
||||||
|
|
||||||
# 所有可能不用与僵尸进行碰撞检测的对象
|
# 所有可能不用与僵尸进行碰撞检测的对象
|
||||||
CAN_SKIP_ZOMBIE_COLLISION_CHECK = ( # 这里运用了集合运算
|
CAN_SKIP_ZOMBIE_COLLISION_CHECK = ( # 这里运用了集合运算
|
||||||
|
# 注意这个外围的小括号是用来换行的
|
||||||
|
# 各个部分末尾千万不能加逗号!!!
|
||||||
|
|
||||||
# 生效时不检测的植物
|
# 生效时不检测的植物
|
||||||
SKIP_ZOMBIE_COLLISION_CHECK_WHEN_WORKING |
|
SKIP_ZOMBIE_COLLISION_CHECK_WHEN_WORKING |
|
||||||
# 非植物对象
|
# 非植物对象
|
||||||
@ -274,7 +277,7 @@ CAN_SKIP_ZOMBIE_COLLISION_CHECK = ( # 这里运用了集合运算
|
|||||||
# 死亡时不触发音效的对象
|
# 死亡时不触发音效的对象
|
||||||
PLANT_DIE_SOUND_EXCEPTIONS = {
|
PLANT_DIE_SOUND_EXCEPTIONS = {
|
||||||
WALLNUTBOWLING, TANGLEKLEP,
|
WALLNUTBOWLING, TANGLEKLEP,
|
||||||
ICE_FROZEN_PLOT, HOLE,
|
ICEFROZENPLOT, HOLE,
|
||||||
GRAVE, JALAPENO,
|
GRAVE, JALAPENO,
|
||||||
REDWALLNUTBOWLING, CHERRYBOMB,
|
REDWALLNUTBOWLING, CHERRYBOMB,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -189,7 +189,7 @@ class Level(tool.State):
|
|||||||
unoccupied = []
|
unoccupied = []
|
||||||
occupied = []
|
occupied = []
|
||||||
# 毁灭菇坑与冰道应当特殊化
|
# 毁灭菇坑与冰道应当特殊化
|
||||||
exceptionObjects = {c.HOLE, c.ICE_FROZEN_PLOT}
|
exceptionObjects = {c.HOLE, c.ICEFROZENPLOT}
|
||||||
# 遍历能生成墓碑的区域
|
# 遍历能生成墓碑的区域
|
||||||
for mapY in range(0, 4):
|
for mapY in range(0, 4):
|
||||||
for mapX in range(4, 8):
|
for mapX in range(4, 8):
|
||||||
@ -1145,7 +1145,7 @@ class Level(tool.State):
|
|||||||
else:
|
else:
|
||||||
_move = random.randint(0, 1)*2 - 1
|
_move = random.randint(0, 1)*2 - 1
|
||||||
if self.map.map[i][0][c.MAP_PLOT_TYPE] != self.map.map[i + _move][0][c.MAP_PLOT_TYPE]:
|
if self.map.map[i][0][c.MAP_PLOT_TYPE] != self.map.map[i + _move][0][c.MAP_PLOT_TYPE]:
|
||||||
_move = -_move
|
_move = -(_move)
|
||||||
zombie.targetMapY = i + _move
|
zombie.targetMapY = i + _move
|
||||||
zombie.targetYChange = _move * self.map.gridHeightSize
|
zombie.targetYChange = _move * self.map.gridHeightSize
|
||||||
else:
|
else:
|
||||||
@ -1351,7 +1351,7 @@ class Level(tool.State):
|
|||||||
targetPlant.explode_x_range, effect=c.BULLET_EFFECT_UNICE)
|
targetPlant.explode_x_range, effect=c.BULLET_EFFECT_UNICE)
|
||||||
# 消除冰道
|
# 消除冰道
|
||||||
for item in self.plant_groups[i]:
|
for item in self.plant_groups[i]:
|
||||||
if item.name == c.ICE_FROZEN_PLOT:
|
if item.name == c.ICEFROZENPLOT:
|
||||||
item.health = 0
|
item.health = 0
|
||||||
elif targetPlant.name == c.ICESHROOM:
|
elif targetPlant.name == c.ICESHROOM:
|
||||||
self.freezeZombies(targetPlant)
|
self.freezeZombies(targetPlant)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user