def run_flags(): from flags import Flags f = Flags.from_tiles_attr(tiles, 'is_open') o = Flags(size) for i in range(10**4): f[(10,10)] f[(11,11)] = False f & o f | o f ^ o ~f print f
|.........| ##+........| |.........| # |........| |.........+########## |........| |.........| |........| |.........| ---------- |.........| ----------- ''' tiles = [] for row in map_.split('\n')[1:-1]: tiles.append([]) for char in row: tiles[-1].append(tiletypes[char]) size = len(tiles[0]), len(tiles) grid = Grid(size) open_ = Flags.from_tiles_attr(tiles, 'is_open') print open_ seen = grid.fov(open_, (23,5), 4) print seen #fov lit walls print ~open_ & seen #path = Flags(size) #for idx in grid.get_path(open_, (15, 5), (40,5)): # path[idx] = True #print path