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