diff --git a/assets/atlas.png b/assets/atlas.png index 07f1d2d..506bb7f 100644 Binary files a/assets/atlas.png and b/assets/atlas.png differ diff --git a/survival/tile.py b/survival/tile.py index 590eb26..6c23f22 100644 --- a/survival/tile.py +++ b/survival/tile.py @@ -1,9 +1,5 @@ -import random - - class Tile: - origins = [(0, 0), (32, 0), (64, 0), (96, 0)] - - def __init__(self, origin=(0, 0)): - self.origin = random.choice(Tile.origins) + def __init__(self, origin, cost): + self.origin = origin + self.cost = cost self.image = None diff --git a/survival/tile_generator.py b/survival/tile_generator.py new file mode 100644 index 0000000..a8470ca --- /dev/null +++ b/survival/tile_generator.py @@ -0,0 +1,19 @@ +import random + +from survival.tile import Tile + + +class TileGenerator: + templates = [ + [(0, 0), 1], # Grass 1 + [(32, 0), 1], # Grass 2 + [(64, 0), 1], # Grass 3 + [(96, 0), 1], # Grass 4 + [(64, 64), 2], # Sand + [(96, 64), 2], # Poddle + ] + + @staticmethod + def get_random_tile(): + template = random.choice(TileGenerator.templates) + return Tile(template[0], template[1]) diff --git a/survival/tile_layer.py b/survival/tile_layer.py index fa4aa6c..bd7797e 100644 --- a/survival/tile_layer.py +++ b/survival/tile_layer.py @@ -1,12 +1,12 @@ from survival.image import Image -from survival.tile import Tile +from survival.tile_generator import TileGenerator class TileLayer: def __init__(self, width, height): self.width = width self.height = height - self.tiles = [[Tile() for x in range(self.width)] for y in range(self.height)] + self.tiles = [[TileGenerator.get_random_tile() for x in range(self.width)] for y in range(self.height)] self.image = Image('atlas.png') def draw(self, camera, visible_area):