5 ' ': {'floor': {'base': 'floor',
6 'behaviour': ['walk', 'fly'],
9 'w': {'floor': {'base': 'cwall',
13 'o': {'tunnels': {'base': 'underground',
17 't': {'tunnels': {'base': 'underground',
21 '-': {'tunnels': {'base': 'tunnel',
22 'behaviour': ['crawl', ],
25 'f': {'floor': {'base': 'floor',
26 'behaviour': ['walk', 'fly'],
29 'd': {'floor': {'base': 'floor',
30 'behaviour': ['walk', 'fly'],
33 'g': {'floor': {'base': 'floor',
34 'behaviour': ['walk', 'fly', 'crawl'],
37 'k': {'floor': {'base': 'floor',
38 'behaviour': ['walk', 'fly'],
41 's': {'floor': {'base': 'floor',
42 'behaviour': ['walk', 'fly'],
48 class level_generator:
54 def convert(self, passage_file, tunnel_file):
56 with open(passage_file) as passages:
57 with open(tunnel_file) as tunnels:
71 level['tileset'] = 'bunker'
73 level['starting pos'] = []
74 level['door_info'] = []
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__':