Mercurial > undermine
changeset 29:2bd072c898d4
fix leaving the map
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Sun, 27 Apr 2014 22:22:10 +0200 |
| parents | bbf3b9e4bab0 |
| children | 62ae7bd6939f |
| files | undermine/level.py |
| diffstat | 1 files changed, 8 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/undermine/level.py Sun Apr 27 22:20:14 2014 +0200 +++ b/undermine/level.py Sun Apr 27 22:22:10 2014 +0200 @@ -14,20 +14,28 @@ def get(self, (x, y), default=None): try: + if x < 0 or y < 0: + raise IndexError("Coordinates must be positive") return self[x, y] except IndexError: return default def __getitem__(self, (x, y)): + if x < 0 or y < 0: + raise IndexError("Coordinates must be positive") return self.things[y][x] def __setitem__(self, (x, y), thing): + if x < 0 or y < 0: + raise IndexError("Coordinates must be positive") self.things[y][x] = thing if thing: thing.pos = x, y def get_dirt(self, (x, y), default=None): try: + if x < 0 or y < 0: + raise IndexError("Coordinates must be positive") return self.dirt[y][x] except IndexError: return default
