-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconst.py
83 lines (70 loc) · 2.61 KB
/
const.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
class Const:
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
BG_COLOR = (0, 0, 0)
COLOR_WHITE = (255, 255, 255)
COLOR_RED = (255, 0, 0)
SPACESHIP_ACCELERATION = 0.5
SPACESHIP_MAX_SPEED = 20
SPACESHIP_FLAME_OFFSET_X_LEFT = 22
SPACESHIP_FLAME_OFFSET_X_RIGHT = 44
SPACESHIP_FLAME_OFFSET_Y = 73
SPACESHIP_ANIMATION_TO_SPEED_RATIO = 2
SPACESHIP_SPEED_DROP_ON_SIDE_IMPACT = 1.5
SPACESHIP_HITSIZE = (7, 15, -7, -15)
FRAME_TIME_SEC = 0.1
NOTIFICATION_TIME = 3
BLINKING_PERIOD = 3
BLINKING_TIME = 0.1
ROCKET_INITIAL_SPEED = 0.0
ROCKET_ACCELERATION = 0.3
ROCKET_STOWED_OFFSET_X_LEFT = 18
ROCKET_STOWED_OFFSET_X_RIGHT = 48
ROCKET_STOWED_OFFSET_Y = 32
ROCKET_FLAME_SIZE = 12
ROCKET_HORIZONTAL_SPEED_DELTA = 6 # The lower - the closer the rocket horizontal speed to the spaceship's one
STAR_NUM_SMALL = 60
STAR_NUM_BRIGHT = 20
STAR_SPEED_SMALL = (0.04, 0.08)
STAR_SPEED_BRIGHT = (0.08, 1.2)
STAR_COORD_APPEAR = -5
STAR_ANIMATION_CHANCE = 20 # The larger the number here - the smaller the chance is
PLANET_SPEED_X = (-0.01, 0.01)
PLANET_SPEED_Y = (-0.01, 0.01)
PLANET_MIN_SIZE = 200
OFF_THE_SCREEN_LEFT = -150
OFF_THE_SCREEN_RIGHT = SCREEN_WIDTH + 150
OFF_THE_SCREEN_TOP = -150
OFF_THE_SCREEN_BOTTOM = SCREEN_HEIGHT + 150
ASTEROID_MIN_SIZE = 20
ASTEROID_SPEED_HORIZONTAL_MIN = -1.5
ASTEROID_SPEED_HORIZONTAL_MAX = 1.5
ASTEROID_SPEED_VERTICAL_MIN = 1
ASTEROID_SPEED_VERTICAL_MAX = 5
ASTEROID_ACCELERATION_HORIZONTAL_MIN = 0
ASTEROID_ACCELERATION_HORIZONTAL_MAX = 0.1
ASTEROID_ACCELERATION_VERTICAL_MIN = 0
ASTEROID_ACCELERATION_VERTICAL_MAX = 0.5
ASTEROID_BORDER_LEFT = 80
ASTEROID_BORDER_RIGHT = SCREEN_WIDTH - ASTEROID_BORDER_LEFT - ASTEROID_MIN_SIZE
ASTEROID_APPEAR_HEIGHT = -150
ASTEROID_ANIMATE_COEFFICIENT = 7 # Asteroid's rotation speed is determined by its vertical speed
ASTEROID_HITSIZE_COEFFICIENT = 9
EXPLOSION_ANIMATE_SPEED = 0.05
EXPLOSION_HIT_DELTA = 65
INITIAL_X_POS = SCREEN_WIDTH / 2
INITIAL_Y_POS = SCREEN_HEIGHT - SCREEN_HEIGHT / 10
INVADER_SIZE = 70
INVADER_DESCEND = 20
INVADER_HITSIZE = (INVADER_SIZE / 11, INVADER_SIZE / 4.6, - INVADER_SIZE / 17, - INVADER_SIZE / 5.7)
INVADER_RIGHT_BORDER = SCREEN_WIDTH - INVADER_SIZE - 20
INVADER_LEFT_BORDER = 20
INVADER_STARTING_X = - INVADER_SIZE * 2
INVADER_STARTING_Y = 50
INVADER_ENTRY_SPEED = 5
INVADER_TOP_BORDER = 20
PLAYER_LIVES = 3
PLAYER_LIVE_SIZE = 30
PLAYER_LIVES_POSITION = (10, 10)
PLAYER_SCORE_POSITION = (10, 40)
DEBUG = False