-
Notifications
You must be signed in to change notification settings - Fork 0
/
objectData.py
59 lines (48 loc) · 1.78 KB
/
objectData.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import math
class Player(object):
def __init__(self, name, level):
self.name = name
self.health = 100
self.gear = [Pistol(level)]
self.activeWeapon = self.gear[0]
self.path = 'link.png' # From http://pixelartmaker.com/art/8608a4f38543034
class Heart(object):
path = 'heart.png' # From http://pixelartmaker.com/art/58d2cbf24f07452
def __init__(self, difficulty):
self.health = int(50 * math.log(difficulty)) # Heart is not infinitely powerful, the powerup provided gradually levels off
class Weapon(object):
def __init__(self, difficulty):
self.level = difficulty
self.damage = 10 * difficulty
self.ammo = 50
self.travelSpeed = 2
class Pistol(Weapon):
pass
class Rocket(Weapon):
def __init__(self, difficulty):
super().__init__(difficulty)
self.damage = 20 * difficulty
self.ammo = 10
self.travelSpeed = 1
class Sword(Weapon):
def __init__(self, difficulty):
super().__init__(difficulty)
self.damage = 10 * difficulty
self.ammo = 100
class Enemy(object):
enemyCount = 0 # Should not go higher than 25? Or it can increase dynamically as Player progresses through levels
path = 'goomba.png' # Goomba sprite courtesy of https://toppng.com/vector-goomba-super-mario-bros-goomba-sprite-PNG-free-PNG-Images_199959
def __init__(self, name, level):
self.name = name
self.health = 20 * level
Enemy.enemyCount += 1
class Projectile(object):
def __init__(self, drow, dcol, damage, speed, player=True):
self.drow = drow
self.dcol = dcol
self.damage = damage
self.speed = speed
if player is False:
self.Enemy = True
else:
self.Enemy = False