def make_world_with(rooms, rng=None): """ Make a world that contains the given rooms. Parameters ---------- rooms : list of textworld.logic.Variable Rooms in the map. Variables must have type 'r'. """ map = make_map(n_rooms=len(rooms), rng=rng) for (n, d), room in zip(map.nodes.items(), rooms): d["name"] = room.name world = World.from_map(map) world.set_player_room() return world
def make_world(world_size, nb_objects=0, rngs=None): """ Make a world (map + objects). Parameters ---------- world_size : int Number of rooms in the world. nb_objects : int Number of objects in the world. """ if rngs is None: rngs = {} rng = g_rng.next() rngs['map'] = RandomState(rng.randint(65635)) rngs['objects'] = RandomState(rng.randint(65635)) map_ = make_map(n_rooms=world_size, rng=rngs['map']) world = World.from_map(map_) world.set_player_room() world.populate(nb_objects=nb_objects, rng=rngs['objects']) return world