Last active
July 30, 2018 23:44
-
-
Save vilmibm/349a3d6ee0beb269c2bc23fe0a86f210 to your computer and use it in GitHub Desktop.
lol
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
β β | |
β south β | |
β βββββββββββββββββββββββββ β | |
β β¨ β β | |
β ββββββββββββββ north ββββββββββββββββββ north βββββββββββββ β | |
βββββββ β Kitchen β βββββββ> β Rear Lawn β βββββββ> β Forest β β | |
ββββββββββββββ ββββββββββββββββββ βββββββββββββ β | |
east below east β§ β§ south β below β | |
βββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββ β north βββββββββββββββββββββββββββββ ββββββββββββββββββββββββ β | |
β¨ β β¨ β β¨ β β β¨ β β | |
ββββββββββββββββββ west βββββββββββββββββββββββββββββββββββββββββββββββ below βββββββββββββββββββ west ββββββββββ west ββββββββββββββββββββββββββββ above ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ west βββββββββββββββββββββββββββ west βββββββββββββββββ west βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ above βββββββββββββ above βββββββββββββββββ above βββββββββββββ β | |
β East Graveyard β ββββββ> β β βββββββ> β Graveyard Cave β ββββββ> β Tunnel β ββββββ> β Abandoned House Basement β βββββββ> β β βββββββ> β East Lawn β ββββββ> β β βββββββ> β β βββββββ> β Airy Loft β βββββββ> β Attic β βββββββ> β Tree Limb β β | |
ββββββββββββββββββ β β βββββββββββββββββββ ββββββββββ ββββββββββββββββββββββββββββ β β βββββββββββββββββββββββββββ β β β β βββββββββββββ βββββββββββββββββ βββββββββββββ β | |
β§ east β β above β β§ east β β β east β β β east β β below β β§ below β β | |
ββββββββββββββββββββββββ β β <βββββββββββ ββββββββββββββββββββ β β <βββββββββββ β Living Room β <βββββββ β β <βββββββββββ ββββββββββββββββββββββββββββ β | |
β β β β β β β β β | |
β β south β β west β β β β south β | |
β Graveyard β <βββββββββββ β Abandoned House Foyer β <βββββββββββ β β <β β Foyer β <ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
β β β β β β βββββββββββββββββ β β β | |
β β north βββββββββββββββββββ β β east βββββββββββββββββββββββββββ β β β β below βββββββββββββ west βββββββββββββββββ | |
β β βββββββ> β North Graveyard β β β βββββββ> β Abandoned House Kitchen β β north β south β β βββββββ> β β βββββββ> β Computer Room β | |
β β βββββββββββββββββββ β β βββββββββββββββββββββββββββ β¨ β β β β β βββββββββββββββββ | |
β β β β βββββββββββββββββ β β β above β β east β | |
β β <β β β <β β Dining Room β ββ β β <βββββββ β Basement β <βββββββββββ | |
βββββββββββββββββββββββββββββββββββββββββββββββ β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β βββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β | |
β β§ β β β β§ β β§ β β β β§ β β§ β β | |
β south β north β west β east β north β south β above β north β south β below β south β north β west β east β β <β | |
β¨ β β¨ β β¨ β β¨ β β¨ β β¨ β β¨ β βββββββββββββ β | |
βββββββββββββββββββ β ββββββββββββββββββ β βββββββββββββββββββββββββββββββ β ββββββββββββββββββββββββββββββββββ β βββββββββββββββββββββββββββββββββ β βββββββββββββββββ ββββββββββββββ β βββββββββββββββββββββββββββββββββββββββββ β β βββββββββββββββββ | |
β South Graveyard β ββ β West Graveyard β ββ β Abandoned House Living Room β ββ β Abandoned House Master Bedroom β βββββββ β Abandoned House Small Bedroom β β β Small Bedroom β β Front Lawn β ββ β β β east β west β Bathroom β ββ | |
βββββββββββββββββββ ββββββββββββββββββ βββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββ β βββββββββββββββββ ββββββββββββββ β β β¨ β βββββββββββββββββ β | |
β β β§ south β β βββββββββββββ β β§ β | |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββ β Hallway β β Rec Room β ββ β north β | |
β β βββββββββββββ β β | |
β β β β | |
ββββββ> β β βββββββββββββββββββββββββββββββββββ β | |
β βββββββββββββββββββββββββββββββββββββββββ β | |
β β β§ south β | |
β east β west ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
β β¨ | |
β ββββββββββββββββββ west βββββββββββββ | |
βββββββ β Master Bedroom β βββββββ> β West Lawn β | |
ββββββββββββββββββ βββββββββββββ | |
β§ east β | |
βββββββββββββββββββββββββββββ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def mapfile_for_room(room): | |
return [ | |
'[ {from_room} ] -- {direction} --> [ {to_room} ]'.format( | |
from_room=room.name, | |
direction=d, | |
to_room=r.name) | |
for d,r in adjacent(room)] | |
def adjacent(room): | |
out = [] | |
for d in DIRECTIONS: | |
e = GameWorld.resolve_exit(room, d) | |
if e is None: continue | |
route = e.get_data('exit').get(room.shortname) | |
target_room = GameObject.get_or_none(GameObject.shortname==route[1]) | |
out.append((d,target_room)) | |
return out | |
def build_queue(queue, room): | |
if queue[room.shortname] == 0: | |
return | |
else: | |
for d,r in adjacent(room): | |
if r.shortname in queue: continue | |
queue[r.shortname] = queue[room.shortname] - 1 | |
build_queue(queue, r) | |
def from_room(room, distance=3): | |
if distance < 0: | |
raise ValueError('distance must be greater than 0') | |
queue = {room.shortname: distance} | |
build_queue(queue, room) | |
to_map = set([GameObject.get(GameObject.shortname==k) for k in queue.keys()]) | |
mapfile = [] | |
for room in to_map: | |
mapfile.extend(mapfile_for_room(room)) | |
return '\n'.join(mapfile) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment