From 2df951ba6041023122137137146427e352902ba1 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Wed, 6 Apr 2022 19:11:09 -0400 Subject: [PATCH] Improve the maze graph. --- make_graph.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/make_graph.py b/make_graph.py index cc92964..e90dc5a 100755 --- a/make_graph.py +++ b/make_graph.py @@ -7,9 +7,9 @@ import sys, yaml -def allalike(loc): +def allalike(loc, dest): "Select out loci related to the Maze All Alike" - return (loc == "LOC_MISTWEST") or ("ALIKE" in loc) or ("MAZEEND" in loc) or ("STALACTITE" in loc) + return ("ALIKE" in loc) or ("MAZEEND" in loc) or ("STALACTITE" in loc) or (loc == "LOC_MISTWEST" and "ALIKE" in dest) def abbreviate(d): m = {"NORTH":"N", "EAST":"E", "SOUTH":"S", "WEST":"W", "UPWAR":"U", "DOWN":"D"} @@ -21,8 +21,6 @@ if __name__ == "__main__": print("digraph G {") for (loc, attrs) in db["locations"]: - if not allalike(loc): - continue travel = attrs["travel"] if len(travel) > 0: for dest in travel: @@ -31,7 +29,10 @@ if __name__ == "__main__": continue action = dest["action"] if action[0] == "goto": - arc = "%s -> %s" % (loc[4:], action[1][4:]) + dest = action[1] + if not allalike(loc, dest): + continue; + arc = "%s -> %s" % (loc[4:], dest[4:]) label=",".join(verbs).lower() if len(label) > 0: arc += ' [label="%s"]' % label -- 2.31.1