更改地图初始化函数
This commit is contained in:
parent
dd623e1c71
commit
5bc2a15db8
@ -11,27 +11,27 @@ class Map():
|
||||
self.width = c.GRID_POOL_X_LEN
|
||||
self.height = c.GRID_POOL_Y_LEN
|
||||
self.gridHeightSize = c.GRID_POOL_Y_SIZE
|
||||
self.map = [[(c.MAP_STATE_EMPTY(), c.MAP_STATE_WATER())[y in {2, 3}] for x in range(self.width)] for y in range(self.height)]
|
||||
self.map = [[(c.INIT_MAP_GRID(c.MAP_GRASS), c.INIT_MAP_GRID(c.MAP_WATER))[y in {2, 3}] for x in range(self.width)] for y in range(self.height)]
|
||||
elif self.background_type in c.ON_ROOF_BACKGROUNDS:
|
||||
self.width = c.GRID_ROOF_X_LEN
|
||||
self.height = c.GRID_ROOF_Y_LEN
|
||||
self.gridHeightSize = c.GRID_ROOF_Y_SIZE
|
||||
self.map = [[c.MAP_STATE_TILE() for x in range(self.width)] for y in range(self.height)]
|
||||
self.map = [[c.INIT_MAP_GRID(c.MAP_TILE) for x in range(self.width)] for y in range(self.height)]
|
||||
elif self.background_type == c.BACKGROUND_SINGLE:
|
||||
self.width = c.GRID_X_LEN
|
||||
self.height = c.GRID_Y_LEN
|
||||
self.gridHeightSize = c.GRID_Y_SIZE
|
||||
self.map = [[(c.MAP_STATE_UNAVAILABLE(), c.MAP_STATE_EMPTY())[y == 2] for x in range(self.width)] for y in range(self.height)]
|
||||
self.map = [[(c.INIT_MAP_GRID(c.MAP_UNAVAILABLE), c.INIT_MAP_GRID(c.MAP_GRASS))[y == 2] for x in range(self.width)] for y in range(self.height)]
|
||||
elif self.background_type == c.BACKGROUND_TRIPLE:
|
||||
self.width = c.GRID_X_LEN
|
||||
self.height = c.GRID_Y_LEN
|
||||
self.gridHeightSize = c.GRID_Y_SIZE
|
||||
self.map = [[(c.MAP_STATE_UNAVAILABLE(), c.MAP_STATE_EMPTY())[y in {1, 2, 3}] for x in range(self.width)] for y in range(self.height)]
|
||||
self.map = [[(c.INIT_MAP_GRID(c.MAP_UNAVAILABLE), c.INIT_MAP_GRID(c.MAP_GRASS))[y in {1, 2, 3}] for x in range(self.width)] for y in range(self.height)]
|
||||
else:
|
||||
self.width = c.GRID_X_LEN
|
||||
self.height = c.GRID_Y_LEN
|
||||
self.gridHeightSize = c.GRID_Y_SIZE
|
||||
self.map = [[c.MAP_STATE_EMPTY() for x in range(self.width)] for y in range(self.height)]
|
||||
self.map = [[c.INIT_MAP_GRID(c.MAP_GRASS) for x in range(self.width)] for y in range(self.height)]
|
||||
|
||||
def isValid(self, map_x, map_y):
|
||||
if (map_x < 0 or map_x >= self.width or
|
||||
|
||||
@ -160,14 +160,9 @@ MAP_UNAVAILABLE = 'unavailable' # 指完全不能种植物的地方,包括无
|
||||
# 地图单元格状态
|
||||
# 注意是可变对象,不能直接引用
|
||||
# 不喜欢用深拷贝,直接改用函数表示,需要时直接调用该函数生成即可
|
||||
def MAP_STATE_EMPTY(): # 由于同一格显然不可能种两个相同的植物,所以用集合
|
||||
return {MAP_PLANT:set(), MAP_SLEEP:False, MAP_PLOT_TYPE:MAP_GRASS}
|
||||
def MAP_STATE_WATER():
|
||||
return {MAP_PLANT:set(), MAP_SLEEP:False, MAP_PLOT_TYPE:MAP_WATER}
|
||||
def MAP_STATE_TILE():
|
||||
return {MAP_PLANT:set(), MAP_SLEEP:False, MAP_PLOT_TYPE:MAP_TILE}
|
||||
def MAP_STATE_UNAVAILABLE():
|
||||
return {MAP_PLANT:set(), MAP_SLEEP:False, MAP_PLOT_TYPE:MAP_UNAVAILABLE}
|
||||
# 由于同一格显然不可能种两个相同的植物,所以用集合
|
||||
def INIT_MAP_GRID(PLOT_TYPE):
|
||||
return {MAP_PLANT:set(), MAP_SLEEP:False, MAP_PLOT_TYPE:POLT_TYPE}
|
||||
|
||||
# 地图相关像素数据
|
||||
BACKGROUND_OFFSET_X = 220
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user