Mercurial > helpings
changeset 5:331e900bf264 default tip
Some furniture
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Sat, 24 Aug 2013 20:13:22 +0200 |
| parents | 8224f2136f85 |
| children | |
| files | helpings/__main__.py helpings/boogie.xm helpings/furniture.png helpings/level.py helpings/player.py |
| diffstat | 5 files changed, 55 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/helpings/__main__.py Sat Aug 24 17:58:43 2013 +0200 +++ b/helpings/__main__.py Sat Aug 24 20:13:22 2013 +0200 @@ -3,23 +3,22 @@ import pygame -from helpings.resources import load_atlas, load_file +#from helpings.resources import load_file from helpings.display import Display from helpings.player import PlayerSprite +from helpings.level import Level + pygame.init() display = Display() -floor_tiles = load_atlas('floor.png', 64) - -for y in range(10): - for x in range(10): - display.background.blit(floor_tiles[0][0], (x * 64, y * 64)) cook = PlayerSprite() +level = Level() +level.render(display) display.sprites.add(cook) display.redraw() -pygame.mixer.music.load(load_file('boogie.xm')) -pygame.mixer.music.play(-1) +#pygame.mixer.music.load(load_file('boogie.xm')) +#pygame.mixer.music.play(-1) while True:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helpings/level.py Sat Aug 24 20:13:22 2013 +0200 @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- + +import random +import pygame + +from helpings.resources import load_atlas + + +class FurnitureSprite(pygame.sprite.Sprite): + def __init__(self, (x, y), tile_id): + super(FurnitureSprite, self).__init__() + self.tiles = load_atlas('furniture.png', 80) + self.image = self.tiles[tile_id][0] + self.rect = self.image.get_rect() + self.rect.move_ip(x, y) + self.depth = y + +class Level(object): + def __init__(self, size=(12, 9)): + self.size = size + stuff = [ + None, None, None, + 0, + 1, + 2, + ] + self.map = [ + [ + random.choice(stuff) + for x in range(size[0]) + ] + for y in range(size[1]) + ] + self.tiles = load_atlas('floor.png', 64) + self.map[2][3] = 0 + self.map[2][2] = 1 + self.map[2][4] = 2 + + + def render(self, display): + for y, row in enumerate(self.map): + for x, cell in enumerate(row): + display.background.blit(self.tiles[0][0], (x * 64, y * 64)) + if cell is not None: + pos = x * 64 -8, y * 64 - 16 + display.sprites.add(FurnitureSprite(pos, cell))
--- a/helpings/player.py Sat Aug 24 17:58:43 2013 +0200 +++ b/helpings/player.py Sat Aug 24 20:13:22 2013 +0200 @@ -12,6 +12,8 @@ self.frames = load_atlas('cook.png', 80) self.image = self.frames[0][0] self.rect = self.image.get_rect() + self.rect.move_ip(64 - 8, 128 - 24) + self.depth = 128 def update(self): try:
