changeset 197:34c11bb5c96e

Interior walls.
author Jeremy Thurgood <firxen@gmail.com>
date Tue, 03 Sep 2013 22:50:29 +0200
parents 40f618978c00
children 05c2c592ce2e
files data/levels/level1 nagslang/level.py
diffstat 2 files changed, 21 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/data/levels/level1	Tue Sep 03 22:24:38 2013 +0200
+++ b/data/levels/level1	Tue Sep 03 22:50:29 2013 +0200
@@ -50,6 +50,15 @@
   - [290, 160]
   - Run around, press some buttons, have fun!
   classname: Note
+lines:
+- - [750, 680]
+  - [950, 680]
+- - [750, 480]
+  - [950, 480]
+- - [750, 480]
+  - [750, 680]
+- - [950, 480]
+  - [950, 680]
 polygons:
   1:
   - [60, 780]
--- 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()