Mercurial > nagslang
comparison nagslang/level.py @ 408:d04981e24fda
Move hard-coded starting point to levels meta file
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sat, 07 Sep 2013 12:32:40 +0200 |
parents | e2cebabf87e8 |
children | 1a85044f81a8 |
comparison
equal
deleted
inserted
replaced
407:314ddad2d6d2 | 408:d04981e24fda |
---|---|
1 import os | |
2 | |
1 import pygame | 3 import pygame |
2 import pygame.locals as pgl | 4 import pygame.locals as pgl |
3 | 5 |
4 from nagslang import collectable | 6 from nagslang import collectable |
5 from nagslang import game_object as go | 7 from nagslang import game_object as go |
59 'enemies': self._enemies, | 61 'enemies': self._enemies, |
60 }, f) | 62 }, f) |
61 | 63 |
62 @classmethod | 64 @classmethod |
63 def list_levels(cls): | 65 def list_levels(cls): |
64 with resources.get_file('levels', 'LEVELS') as f: | 66 dir_ = resources.get_resource_path('levels') |
65 levels = load(f) | 67 for file_ in os.listdir(dir_): |
66 return levels['levels'] | 68 if file_ == 'meta': |
69 continue | |
70 yield file_ | |
71 | |
72 @classmethod | |
73 def game_starting_point(cls): | |
74 with resources.get_file('levels', 'meta') as f: | |
75 data = load(f) | |
76 return (data['starting_level'], data['starting_position']) | |
67 | 77 |
68 def load(self, space): | 78 def load(self, space): |
69 data = self._get_data() | 79 data = self._get_data() |
70 self.x, self.y = data['size'] | 80 self.x, self.y = data['size'] |
71 self.basetile = data['base_tile'] | 81 self.basetile = data['base_tile'] |