diff --git a/source/component/map.py b/source/component/map.py index 8c0b51a..93da45a 100755 --- a/source/component/map.py +++ b/source/component/map.py @@ -41,13 +41,14 @@ class Map(): # 由于紫卡植物需要移除以前的植物,所以可用另外定义一个函数 # 注意咖啡豆生效后需要同时将植物的睡眠状态和格子的睡眠记录改变 def isAvailable(self, map_x, map_y, plantName): + # 咖啡豆的判别最为特殊 + if plantName == c.COFFEEBEAN: + if self.map[map_y][map_x][c.MAP_SLEEP] and (plantName not in self.map[map_y][map_x][c.MAP_PLANT]): + return True + else: + return False if self.map[map_y][map_x][c.MAP_PLOT_TYPE] == c.MAP_GRASS: # 草地 # 首先需要判断植物是否是水生植物,水生植物不能种植在陆地上 - if plantName == c.COFFEEBEAN: - if self.map[map_y][map_x][c.MAP_SLEEP] and (plantName not in self.map[map_y][map_x][c.MAP_PLANT]): - return True - else: - return False if plantName not in {c.LILYPAD, '海蘑菇(未实现)', '缠绕水草(未实现)'}: # 这里的集合也可以换成存储在某一文件中的常数的表达 if not self.map[map_y][map_x][c.MAP_PLANT]: # 没有植物肯定可以种植 return True @@ -59,11 +60,6 @@ class Map(): else: return False elif self.map[map_y][map_x][c.MAP_PLOT_TYPE] == c.MAP_TILE: # 屋顶 - if plantName == c.COFFEEBEAN: - if self.map[map_y][map_x][c.MAP_SLEEP] and (plantName not in self.map[map_y][map_x][c.MAP_PLANT]): - return True - else: - return False # 首先需要判断植物是否是水生植物,水生植物不能种植在陆地上 if plantName not in {c.LILYPAD, '海蘑菇(未实现)', '缠绕水草(未实现)'}: # 这里的集合也可以换成存储在某一文件中的常数的表达 if '花盆(未实现)' in self.map[map_y][map_x][c.MAP_PLANT]: @@ -80,11 +76,6 @@ class Map(): else: return False elif self.map[map_y][map_x][c.MAP_PLOT_TYPE] == c.MAP_WATER: # 水里 - if plantName == c.COFFEEBEAN: - if self.map[map_y][map_x][c.MAP_SLEEP] and (plantName not in self.map[map_y][map_x][c.MAP_PLANT]): - return True - else: - return False if plantName in {c.LILYPAD, '海蘑菇(未实现)', '缠绕水草(未实现)'}: # 是水生植物 if not self.map[map_y][map_x][c.MAP_PLANT]: # 只有无植物时才能在水里种植水生植物 return True