From c051414870a7367b964f9488267de2f80d3819a3 Mon Sep 17 00:00:00 2001 From: Lief9100 Date: Mon, 20 Apr 2020 02:58:32 -0700 Subject: [PATCH] remove config excess, add projectiles folder and temp classes --- triple-dungeon/config.py | 4 ---- triple-dungeon/main.py | 12 ++++++------ triple-dungeon/projectiles.py | 37 +++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 10 deletions(-) create mode 100644 triple-dungeon/projectiles.py diff --git a/triple-dungeon/config.py b/triple-dungeon/config.py index 6c2e710..c68c5b5 100644 --- a/triple-dungeon/config.py +++ b/triple-dungeon/config.py @@ -29,7 +29,6 @@ class Config(object): # Constants used to scale our sprites from their original size CHARACTER_SCALING = 1 TILE_SCALING = 2 - BULLET_SCALING = 0.8 # The number of pixels across the level LEVEL_SIZE = 10 * TILE_SCALING * TILE_WIDTH @@ -42,9 +41,6 @@ class Config(object): RIGHT_VIEWPORT_MARGIN = 250 BOTTOM_VIEWPORT_MARGIN = 50 TOP_VIEWPORT_MARGIN = 100 - - #Bullet constants TEMP change to speed factor in projectiles.py - BULLET_SPEED = 5 diff --git a/triple-dungeon/main.py b/triple-dungeon/main.py index 69604b1..177c2cc 100644 --- a/triple-dungeon/main.py +++ b/triple-dungeon/main.py @@ -10,8 +10,9 @@ import math from config import Config from map import Dungeon -from mobs import Player - +from mobs import Player, Enemy +from config import Config, Sprites +from projectiles import Temp class Game(arcade.Window): """ @@ -125,8 +126,7 @@ class Game(arcade.Window): Called whenever the mouse is clicked. """ # Create a bullet TEMP SPRITE, currently wielding frog slingshot - bullet = arcade.Sprite("resources/images/monsters/frog/frog1.png", Config.BULLET_SCALING) - + bullet = Temp() # Position the bullet at the player's current location start_x = self.player_list.center_x start_y = self.player_list.center_y @@ -149,8 +149,8 @@ class Game(arcade.Window): # Taking into account the angle, calculate our change_x # and change_y. Velocity is how fast the bullet travels. - bullet.change_x = math.cos(angle) * Config.BULLET_SPEED - bullet.change_y = math.sin(angle) * Config.BULLET_SPEED + bullet.change_x = math.cos(angle) * bullet.speed + bullet.change_y = math.sin(angle) * bullet.speed # Add the bullet to the appropriate lists self.bullet_list.append(bullet) diff --git a/triple-dungeon/projectiles.py b/triple-dungeon/projectiles.py new file mode 100644 index 0000000..288875a --- /dev/null +++ b/triple-dungeon/projectiles.py @@ -0,0 +1,37 @@ +""" +projectiles.py +Organizes classes related to projectiles +""" + +import arcade + +from config import Config, Sprites + + +class Projectile(arcade.Sprite): + """ + Represents a Projectile. Damage, sprite, speed, range, collision list? + """ + def __init__(self, speed=7, damage=0, range=100, *args, **kwargs) -> None: + # Set up parent class + super().__init__() + + self.speed = speed + self.damage = damage #unimplemented + self.texture = None + self.range = range #unimplemented + self.collision_list = [] + + +class Temp(Projectile): + """ + Temporary extension of projectile to demonstrate usage + """ + def __init__(self, *args, **kwargs) -> None: + super(Temp, self).__init__(*args, **kwargs) + self.texture = arcade.load_texture("resources/images/monsters/frog/frog1.png") + self.speed = 12 + self.scale = 2 + #collision list for who/what to collide with: wall, player, enemy + + #Can place function for starting on player or enemy