projects
/
erdslangetjie.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Log some info on level calls
[erdslangetjie.git]
/
erdslangetjie
/
level.py
diff --git
a/erdslangetjie/level.py
b/erdslangetjie/level.py
index f430f5dd53a27e2def6254aaca778917dd32f7aa..9ebb6f4912525a3f0f34c7589badbb80cf3525af 100644
(file)
--- a/
erdslangetjie/level.py
+++ b/
erdslangetjie/level.py
@@
-3,6
+3,9
@@
import os
from data import load_image, load, filepath
import os
from data import load_image, load, filepath
+
+from kivy.logger import Logger
+
WALL = '.'
FLOOR = ' '
ENTRY = 'E'
WALL = '.'
FLOOR = ' '
ENTRY = 'E'
@@
-13,7
+16,7
@@
BUTTON = 'B'
class Level(object):
class Level(object):
- def __init__(self, levelfile):
+ def __init__(self, levelfile
, name
):
self._data = []
self.exit_pos = []
self.enter_pos = None
self._data = []
self.exit_pos = []
self.enter_pos = None
@@
-21,6
+24,7
@@
class Level(object):
self._changed = []
self._gates = {}
self._buttons = {}
self._changed = []
self._gates = {}
self._buttons = {}
+ self._name = name
# Because of how kivy's coordinate system works,
# we reverse the lines so things match up between
# the file and the display (top of file == top of display)
# Because of how kivy's coordinate system works,
# we reverse the lines so things match up between
# the file and the display (top of file == top of display)
@@
-29,6
+33,7
@@
class Level(object):
def load_tiles(self):
"""Load the list of tiles for the level"""
def load_tiles(self):
"""Load the list of tiles for the level"""
+ Logger.info('%s: load tiles' % self._name)
self._tiles = []
self._gates = {}
self._buttons = {}
self._tiles = []
self._gates = {}
self._buttons = {}
@@
-288,35
+293,44
@@
class LevelList(object):
LEVELS = 'level_list'
def __init__(self):
LEVELS = 'level_list'
def __init__(self):
- self.levels = []
- self.errors = []
+ self._levels = []
+ self._level_names = []
+ self._errors = []
level_list = load(self.LEVELS)
for line in level_list:
line = line.strip()
if os.path.exists(filepath(line)):
level_file = load(line)
level_list = load(self.LEVELS)
for line in level_list:
line = line.strip()
if os.path.exists(filepath(line)):
level_file = load(line)
- level = Level(level_file)
+ level = Level(level_file
, line
)
level_file.close()
try:
level.validate()
level_file.close()
try:
level.validate()
- self.levels.append(level)
+ self._levels.append(level)
+ self._level_names.append(line)
except RuntimeError as err:
except RuntimeError as err:
- self.errors.append(
+ self.
_
errors.append(
'Invalid level %s in level_list: %s' % (line, err))
else:
'Invalid level %s in level_list: %s' % (line, err))
else:
- self.errors.append(
+ self.
_
errors.append(
'Level list includes non-existant level %s' % line)
level_list.close()
self._cur_level = 0
def get_current_level(self):
'Level list includes non-existant level %s' % line)
level_list.close()
self._cur_level = 0
def get_current_level(self):
- if self._cur_level < len(self.levels):
- return self.levels[self._cur_level]
+ if self._cur_level < len(self.
_
levels):
+ return self.
_
levels[self._cur_level]
else:
return None
def get_errors(self):
else:
return None
def get_errors(self):
- return self.errors
+ return self._errors
+
+ def get_level_names(self):
+ return self._level_names
+
+ def set_level_to(self, level_name):
+ if level_name in self._level_names:
+ self._cur_level = self._level_names.index(level_name)
def advance_to_next_level(self):
self._cur_level += 1
def advance_to_next_level(self):
self._cur_level += 1