From e21781e586499489252dd2a7e2e779db10066a8f Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Tue, 12 May 2015 12:16:59 +0100 Subject: [PATCH] tabs vs spaces, and added more texture code. --- assets.py | 87 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/assets.py b/assets.py index 16e97c9..b7856ef 100644 --- a/assets.py +++ b/assets.py @@ -3,65 +3,66 @@ from collections import namedtuple from random import randint class Textures(): - def __init__(self): - self.images = { - "PLAYER":"player.png", - "BULLET":"bullet.png", - "TARGETS":[], - "SHOOTER":"shooter.png", - "TARGET_BULLET":"target_bullet.png" - } - self.path=os.path.dirname(os.path.realpath(__file__)) + "\\resources\\texture_packs\\" - self.pack = "default" + def __init__(self): + self.images = { + "PLAYER":"player", + "BULLET":"bullet", + "TARGETS":[], + "SHOOTER":"shooter", + "TARGET_BULLET":"bullet_target" + } + self.path=os.path.dirname(os.path.realpath(__file__)) + "\\resources\\texture_packs\\" + self.pack = "default" - def load_texture_pack(self, packName): - if os.path.exists(self.path + packName): - self.images["TARGETS"] = [] + def load_texture_pack(self, pack_name): + if os.path.exists(self.path + pack_name): + self.images["TARGETS"] = [] - targets = glob.glob(self.path+packName+"\\target*.png") - logging.debug("Found {0} target files.".format(len(targets))) - for file in targets: - fileName = file.split("\\")[-1] - self.images["TARGETS"].append(filename) + targets = glob.glob(self.path+pack_name+"\\target*.png") + logging.debug("Found {0} target files.".format(len(targets))) + for file in targets: + filename = file.split("\\")[-1].replace(".png", "") + self.images["TARGETS"].append(filename) - self.pack = packName - else: logging.warn("Cannot find texture pack '{}'".format(packName)) + self.pack = pack_name + else: logging.warn("Cannot find texture pack '{}'".format(ppack_name)) - def get_texture(self, objectName): - filename = self.path + self.pack + "\\{0}.png".format(self.images[objectName.upper()]) - return pygame.image.load(filename) + def get_texture(self, objectName): + filename = self.path + self.pack + "\\{0}.png".format(self.images[objectName.upper()]) + return pygame.image.load(filename) - def get_target_texture(self): - filename = self.path + self.pack + "\\{}.png".format(self.images["TARGETS"][randint(0,len(self.images["TARGETS"]))]) - return pygame.image.load(filename) + def get_target_texture(self): + index = randint(0,len(self.images["TARGETS"])-1) if len(self.images["TARGETS"]) >=1 else 0 + filename = self.path + self.pack + "\\{}.png".format(self.images["TARGETS"][randint(0,len(self.images["TARGETS"])-1)]) + return pygame.image.load(filename) - def list_packs(self): - return [x[0] for x in os.walk(self.path)] + def list_packs(self): + return [x[0].replace(self.path, "") for x in os.walk(self.path)] Level_Template = namedtuple('Level_Template', ("rows", "padding", "firebacks", "powerups")) Levels = [ - Level_Template(2, 20, 0, 0), - Level_Template(3, 15, 2, 1), - Level_Template(4, 25, 7, 1) + Level_Template(2, 20, 0, 0), + Level_Template(3, 15, 2, 1), + Level_Template(4, 25, 7, 1) ] def generate_random_level(): - logging.info("Generating a random level!") - rows = randint(0, 12) - padding = randint(0, 30) - firebacks = randint(0, 15) - powerups = randint(0, 15) - return Level_Template(rows, padding, firebacks, powerups) + logging.info("Generating a random level!") + rows = randint(0, 12) + padding = randint(0, 30) + firebacks = randint(0, 15) + powerups = randint(0, 15) + return Level_Template(rows, padding, firebacks, powerups) Sounds = {} def init_sounds(): - music_files = ["main.mp3", "fire.mp3"] - for file in music_files: - path = os.path.dirname(os.path.realpath(__file__)) + "\\resources\\sounds\\" + file - if file == "main.mp3": mixer = pygame.mixer.music.load(path) - else: mixer = pygame.mixer.Sound(file) - Sounds.update(file.split(".")[0], mixer) + music_files = ["main.wav", "OP.wav", "shot.wav"] + for file in music_files: + path = os.path.dirname(os.path.realpath(__file__)) + "\\resources\\sounds\\" + file + mixer = pygame.mixer.Sound(path) + mixer.set_volume(1.0) + Sounds[file.replace(".wav", "")] = mixer \ No newline at end of file