更新null值引用方式

This commit is contained in:
星外之神 2022-06-01 14:15:50 +08:00
parent d054ff498b
commit 885f9902af
4 changed files with 7 additions and 9 deletions

View File

@ -39,7 +39,6 @@ class Map():
# 判断位置是否可用
# 暂时没有写紫卡植物的判断方法
# 由于紫卡植物需要移除以前的植物,所以可用另外定义一个函数
# 注意咖啡豆生效后需要同时将植物的睡眠状态和格子的睡眠记录改变
def isAvailable(self, map_x, map_y, plantName):
# 咖啡豆和墓碑吞噬者的判别最为特殊
if plantName == c.COFFEEBEAN:
@ -92,7 +91,7 @@ class Map():
else: # 非水生植物,依赖睡莲
if c.LILYPAD in self.map[map_y][map_x][c.MAP_PLANT]:
if (all((i in {c.LILYPAD, '南瓜头(未实现)'}) for i in self.map[map_y][map_x][c.MAP_PLANT])
and (plantName not in self.map[map_y][map_x][c.MAP_PLANT])): # 例外植物:集合中填花盆和南瓜头,只要这里没有这种植物就能种植;判断方法:并集
and (plantName not in self.map[map_y][map_x][c.MAP_PLANT])):
if plantName in {c.SPIKEWEED, c.POTATOMINE, '花盆(未实现)'}: # 不能在睡莲上种植的植物
return False
else:

View File

@ -313,7 +313,7 @@ class Panel():
if self.selected_num >= c.CARD_LIST_NUM:
surface.blit(self.button_image, self.button_rect)
# 传送带模式
# 传送带模式的卡片
class MoveCard():
def __init__(self, x, y, card_name, plant_name, scale=0.5):
self.loadFrame(card_name, scale)

View File

@ -55,8 +55,6 @@ GREEN = ( 0, 255, 0)
# 退出游戏按钮
EXIT = 'exit'
# 当想要一个特殊值时用
NULL = 'null'
# 游戏界面可选的菜单
LITTLE_MENU = 'littleMenu'
BIG_MENU = 'bigMenu'
@ -338,7 +336,7 @@ ICE_SLOW_TIME = 10000
MIN_FREEZE_TIME = 4000
ICETRAP = 'IceTrap'
# 植物卡片信息
# 植物卡片名称
CARD_SUNFLOWER = 'card_sunflower'
CARD_PEASHOOTER = 'card_peashooter'
CARD_SNOWPEASHOOTER = 'card_snowpea'
@ -369,7 +367,7 @@ CARD_GRAVEBUSTER = 'card_gravebuster'
CARD_FUMESHROOM = 'card_fumeshroom'
# 植物卡片信息(包括植物名称, 卡片名称, 阳光, 冷却时间)
# 植物卡片信息汇总(包括植物名称, 卡片名称, 阳光, 冷却时间)
PLANT_CARD_INFO = (# 元组 (植物名称, 卡片名称, 阳光, 冷却时间)
(PEASHOOTER,
CARD_PEASHOOTER,
@ -490,9 +488,10 @@ PLANT_CARD_INFO = (# 元组 (植物名称, 卡片名称, 阳光, 冷却时间)
0),
)
# 指定了哪些卡可选
# 指定了哪些卡可选(排除坚果保龄球特殊植物)
CARDS_TO_CHOOSE = range(len(PLANT_CARD_INFO) - 2)
# 子弹信息
# 子弹类型
BULLET_PEA = 'PeaNormal'

View File

@ -106,7 +106,7 @@ def get_image(sheet, x, y, width, height, colorkey=c.BLACK, scale=1):
rect = image.get_rect()
image.blit(sheet, (0, 0), (x, y, width, height))
if colorkey != c.NULL:
if colorkey:
image.set_colorkey(colorkey)
image = pg.transform.scale(image,
(int(rect.width*scale),