6 ' ': {'floor': {'base': 'floor',
7 'behaviour': ['walk', 'fly'],
10 'w': {'floor': {'base': 'cwall',
14 'o': {'tunnels': {'base': 'underground',
18 't': {'tunnels': {'base': 'underground',
22 '-': {'tunnels': {'base': 'tunnel',
23 'behaviour': ['crawl', ],
26 'f': {'floor': {'base': 'floor',
27 'behaviour': ['walk', 'fly'],
30 'd': {'floor': {'base': 'floor',
31 'behaviour': ['walk', 'fly'],
34 'g': {'floor': {'base': 'floor',
35 'behaviour': ['walk', 'fly', 'crawl'],
38 'k': {'floor': {'base': 'floor',
39 'behaviour': ['walk', 'fly'],
42 's': {'floor': {'base': 'floor',
43 'behaviour': ['walk', 'fly'],
49 class level_generator:
55 def convert(self, passage_file, tunnel_file):
57 with open(passage_file) as passages:
58 with open(tunnel_file) as tunnels:
72 level['tileset'] = 'bunker'
74 level['starting pos'] = []
75 level['door_info'] = []
76 level['friendly roaches'] = []
78 for l, lu in zip(p, t):
80 for t1, t2 in zip(l, lu):
81 if t1 != '\n' and t2 != '\n':
83 tile = ATTRIBUTE_MAP[t1].copy()
84 tile.update(ATTRIBUTE_MAP[t2])
87 level['starting pos'] = [len(row) - 1, len(level['tiles']) - 1]
89 level['tiles'].append(row)
90 # Crude hack so the level is written into the levels folder
91 name = os.path.join(os.path.dirname(__file__), '..', 'levels', 'map.json')
93 json.dump(level, f, indent=3)
97 if __name__ == '__main__':
99 if len(sys.argv) != 3:
100 print("Usage %s <floor layer> <tunnel layer>" % sys.argv[0])
101 #l.convert('l2', 't2')
103 l.convert(sys.argv[1], sys.argv[2])