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:
Binary file helpings/boogie.xm has changed
Binary file helpings/furniture.png has changed
--- /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: