-
Notifications
You must be signed in to change notification settings - Fork 1
/
Settings.py
107 lines (92 loc) · 1.91 KB
/
Settings.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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import pygame as pg
from enum import Enum
class UIGameState(Enum):
NEW = 'NEW'
LOAD = 'LOAD'
CONTINUE = 'CONTINUE'
class Direction(Enum):
UP = 'Up'
DOWN = 'Down'
LEFT = 'Left'
RIGHT = 'Right'
class Items(str, Enum):
SWORD = 'sword'
MAGMA_BOOTS = 'magma_boots'
RESPAWN_ORB = 'respawn_orb'
HEALTH_POTION = 'health_potion'
PHOENIX_GEM = 'phoenix_gem'
DRAGON_SCALE = 'dragon_scale'
@classmethod
def item_by_name(cls, name):
return cls(name)
# define some colors (R, G, B)
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
DARKGREY = (40, 40, 40)
LIGHTGREY = (100, 100, 100)
GREEN = (0, 255, 0)
RED = (255, 0, 0)
YELLOW = (255, 255, 0)
# game settings
WIDTH = 15 * 32 # 16 * 64 or 32 * 32 or 64 * 16
HEIGHT = 15 * 32 # 16 * 48 or 32 * 24 or 64 * 12
FPS = 60
MAX_DT = 1000.0 / (FPS - 20) / 1000.0
TITLE = "Tilemap Demo"
BGCOLOR = DARKGREY
TILESIZE = 32
# player settings
PLAYER_SPEED = 150
PLAYER_KNOCKBACK = 5
PLAYER_HIT_RECT = pg.Rect(0, 0, 21, 23)
PLAYER_HEALTH = 6
DAMAGE_ALPHA = [i for i in range(0, 255, 15)]
PLAYER_IMAGES = {
Direction.UP: [
'LinkUp1.png',
'LinkUp2.png',
'LinkUp3.png'
],
Direction.DOWN: [
'LinkDown1.png',
'LinkDown2.png',
'LinkDown3.png'
],
Direction.LEFT: [
'LinkLeft1.png',
'LinkLeft2.png',
'LinkLeft3.png'
],
Direction.RIGHT: [
'LinkRight1.png',
'LinkRight2.png',
'LinkRight3.png'
],
}
PLAYER_SOUNDS = {
'SWORD': [
'sword1.mp3',
'sword2.mp3',
'sword3.mp3',
'sword4.mp3'
],
'WALK': [
'walk.mp3',
]
}
STOMP_COOLDOWN = 120
STOMP_RANGE = 90
# mob settings
SOUND_RADIUS = 32 * 3
# item settings
BOB_RANGE = 15
BOB_SPEED = 0.4
# layers
ANIMATION_LAYER = 1
ITEMS_LAYER = 1
SPAWNER_LAYER = 0
PLAYER_LAYER = 0
PUSH_LAYER = -2
ENEMY_LAYER = -2
DOOR_LAYER = -2
ACTIVATOR_LAYER = -4