+ height = len(self._tiles)
+ width = len(self._tiles[0])
+ for y, row_data in enumerate(self._tiles):
+ for x, tile in enumerate(row_data):
+ # simplist case
+ # 4 -connected neighbors
+ neighborhood = [self._tiles[y][x-1] if x > 0 else None,
+ self._tiles[y][x+1] if x < width - 1 else None,
+ self._tiles[y-1][x] if y > 0 else None,
+ self._tiles[y+1][x] if y < height- 1 else None,
+ ]