diff nagslang/level.py @ 197:34c11bb5c96e

Interior walls.
author Jeremy Thurgood <firxen@gmail.com>
date Tue, 03 Sep 2013 22:50:29 +0200
parents e080fcd07fa9
children 3495a2025bc6
line wrap: on
line diff
--- a/nagslang/level.py	Tue Sep 03 22:24:38 2013 +0200
+++ b/nagslang/level.py	Tue Sep 03 22:50:29 2013 +0200
@@ -16,6 +16,9 @@
 }
 
 
+LINE_COLOR = pygame.color.THECOLORS['orange']
+
+
 class Level(object):
 
     def __init__(self, name):
@@ -24,6 +27,7 @@
         self.x = 800
         self.y = 600
         self.polygons = {}
+        self.lines = []
         self.basetile = 'tiles/floor.png'
         self._tile_image = None
         self._surface = None
@@ -45,6 +49,7 @@
             'size': [self.x, self.y],
             'base_tile': self.basetile,
             'polygons': self.polygons,
+            'lines': self.lines,
             'game_objects': self._game_objects,
             'enemies': self._enemies,
         }, f)
@@ -57,6 +62,7 @@
             self.polygons[i] = []
             for point in points:
                 self.polygons[i].append(tuple(point))
+        self.lines = data.get('lines', [])
         self._game_objects = data.get('game_objects', [])
         for game_object_dict in self._game_objects:
             self._create_game_object(space, **game_object_dict)
@@ -131,7 +137,9 @@
         return (pos[0], self.y - pos[1])
 
     def get_walls(self):
-        return self.polygons.values()
+        walls = self.polygons.values()
+        walls.extend(self.lines)
+        return walls
 
     def _draw_walls(self):
         for index, polygon in self.polygons.items():
@@ -139,6 +147,9 @@
             if len(polygon) > 1:
                 pointlist = [self.point_to_pygame(p) for p in polygon]
                 pygame.draw.lines(self._surface, color, False, pointlist, 2)
+        for line in self.lines:
+            pointlist = [self.point_to_pygame(p) for p in line]
+            pygame.draw.lines(self._surface, LINE_COLOR, False, pointlist, 2)
 
     def get_background(self):
         self._draw_background()