def __init__(self, state): self.state = state self.mines = {} self.board = Board(state['game']['board']) self.heroes = [Hero(state['game']['heroes'][i]) for i in range(len(state['game']['heroes']))] self.hero = Hero(state['hero']) self.taverns = [] self.mines_locs = {} self.spawn_points_locs = {} self.taverns_locs = set([]) self.heroes_locs = {} self.walls_locs = [] self.url = None self.turn = None self.max_turns = None self.finished = None self.board_size = state['game']['board']['size'] self.turn = state['game']['turn'] self.max_turns = state['game']['maxTurns'] self.finished = state['game']['finished'] for row in range(len(self.board.tiles)): for col in range(len(self.board.tiles[row])): obj = self.board.tiles[row][col] if isinstance(obj, MineTile): self.mines_locs[(row, col)] = obj.heroId elif isinstance(obj, HeroTile): self.heroes_locs[(row, col)] = obj.id elif obj == vin.TAVERN: self.taverns_locs.add((row, col)) self.taverns.append(Tavern(row, col)) self.process_data(self.state)