def _generate_world(self): self.alive = True self.gold_picked = False self.pos = (-1, 0) self.facing = facing_list['right'] self.visited = set() self.danger = set() self.safe = set() self.fringe = set() self.plan = [action_list['forward']] self.world = numpy.zeros((4, 4, 5)) self.known_world = numpy.ones((4, 4, 5)) self.kb = WumpusKB() # choosing a sector for Gold i, j = self._random_ij() self.world[i][j][1] = 2 # choosing a sector for Wumpus i, j = self._random_ij() self.world[i][j][4] = 2 # generating Stench for pos in neighbors(i, j): self.world[pos[0]][pos[1]][3] = 2 for i in range(4): for j in range(4): if not ((i == 0) and (j == 0)): # generating Pit for this sector with a # Probability of 0.2 if random.randint(1, 10) <= 2: self.world[i][j][2] = 2 # generating Breeze for pos in neighbors(i, j): self.world[pos[0]][pos[1]][0] = 2 ev = event.WorldBuiltEvent(self.world) self.ev_manager.post(ev)