Mercurial > nagslang
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()