X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=make_dungeon.py;h=b37856368947d219bcb5a79ef66deeaf38fdbdcf;hp=f8b3147e46c4fc65ad64ad40cc3e2c620bf342cb;hb=2aa35a6d84725df2f39736233c3be916c3efbe33;hpb=100152c21df9a5508936e31a3971aea71a280165 diff --git a/make_dungeon.py b/make_dungeon.py index f8b3147..b378563 100755 --- a/make_dungeon.py +++ b/make_dungeon.py @@ -1,8 +1,7 @@ -#!/usr/bin/python3 +#!/usr/bin/env python -# This is the new open-adventure dungeon generator. It'll eventually -# replace the existing dungeon.c It currently outputs a .h and .c pair -# for C code. +# This is the open-adventure dungeon generator. It consumes a YAML description of +# the dungeon and outputs a dungeon.h and dungeon.c pair of C code files. # # The nontrivial part of this is the compilation of the YAML for # movement rules to the travel array that's actually used by @@ -385,8 +384,8 @@ def get_objects(obj): if labels: global statedefines statedefines += "/* States for %s */\n" % item[0] - for (i, label) in enumerate(labels): - statedefines += "#define %s\t%d\n" % (label, i) + for (j, label) in enumerate(labels): + statedefines += "#define %s\t%d\n" % (label, j) statedefines += "\n" sounds_str = "" if attr.get("sounds") == None: @@ -611,8 +610,8 @@ def buildtravel(locs, objs): # him to 22 if he's carrying object 10, and otherwise will go to 14. # 11 303008 49 # 11 9 50 - # This says that, from 11, 49 takes him to 8 unless game.prop(3)=0, in which - # case he goes to 9. Verb 50 takes him to 9 regardless of game.prop(3). + # This says that, from 11, 49 takes him to 8 unless game.prop[3]=0, in which + # case he goes to 9. Verb 50 takes him to 9 regardless of game.prop[3]. ltravel = [] verbmap = {} for i, motion in enumerate(db["motions"]): @@ -627,7 +626,7 @@ def buildtravel(locs, objs): try: return locnames.index(action[1]) except ValueError: - sys.stderr.write("dungeon: unknown location %s in goto clause of %s\n" % (cond[1], name)) + sys.stderr.write("dungeon: unknown location %s in goto clause of %s\n" % (action[1], name)) elif action[0] == "special": return 300 + action[1] elif action[0] == "speak": @@ -689,7 +688,7 @@ def buildtravel(locs, objs): tt.append(dest) tt += [motionnames[verbmap[e]].upper() for e in rule["verbs"]] if not rule["verbs"]: - tt.append(1) + tt.append(1) # Magic dummy entry for null rules ltravel.append(tuple(tt)) # At this point the ltravel data is in the Section 3