diff --git a/source/component/map.py b/source/component/map.py index 83b4cf7..56d02de 100755 --- a/source/component/map.py +++ b/source/component/map.py @@ -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 diff --git a/source/constants.py b/source/constants.py index 2e04c36..84ac369 100755 --- a/source/constants.py +++ b/source/constants.py @@ -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