X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=erdslangetjie%2Flevel.py;h=645a62f7678aca49f89f85a024dbaf4cc9ecd327;hb=3a3faf0ebde7ba88de6400c2c0ea257ae36a9c6b;hp=790557179a7ba5fb6d11361887396fbad8b4896f;hpb=e3780ba39fb721ade60cb9823d24f2174a4762e8;p=erdslangetjie.git diff --git a/erdslangetjie/level.py b/erdslangetjie/level.py index 7905571..645a62f 100644 --- a/erdslangetjie/level.py +++ b/erdslangetjie/level.py @@ -14,7 +14,10 @@ class Level(object): def load(self, levelfile): """Load the level""" self.data = [] - for line in levelfile.readlines(): + # 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) + for line in reversed(levelfile.readlines()): self.data.append(list(line.strip('\n'))) def load_tiles(self): @@ -44,3 +47,16 @@ class Level(object): def at_exit(self, pos): return pos in self.exit_pos + + def blocked(self, pos): + if pos[0] < 0: + return True + if pos[1] < 0: + return True + try: + tile = self.data[pos[1]][pos[0]] + except IndexError: + return True + if tile == '.': + return True + return False