-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcfg.py
More file actions
70 lines (49 loc) · 1.7 KB
/
cfg.py
File metadata and controls
70 lines (49 loc) · 1.7 KB
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
from collections import namedtuple
# ML Constants
Transition = namedtuple('Transition',
('state', 'action', 'reward', 'next_state', 'done'))
CHECKPOINT_FILE_PATH = 'model/checkpoint.tar'
BATCH_SIZE = 512
MAX_MEMORY_SIZE = 4500 # Should take ~15 min to fill up (1 transition every 200ms)
GAMMA = 0.995
EPSILON = 1
EPSILON_MIN = 0.0
EPSILON_DECAY = 0.9817479430199844 # Gets epsilon equal to the min epsilon val after lowering epsilon 500 times
SGD_LEARNING_RATE = 0.001
PRECISION = 0.0001
# Tetris Constants
WIDTH = 950
HEIGHT = 750
TETRIS_TILE_SIZE = 35
TETRIS_ROWS = 20
TETRIS_COLS = 10
MAIN_BOARD_X_OFFSET = (WIDTH - TETRIS_TILE_SIZE * TETRIS_COLS) / 2
MAIN_BOARD_Y_OFFSET = (HEIGHT - TETRIS_TILE_SIZE * TETRIS_ROWS) / 2
SQUARE_PANEL_SIZE = 5
NEXT_PANEL_X_OFFSET = (TETRIS_TILE_SIZE * TETRIS_COLS) + MAIN_BOARD_X_OFFSET + (MAIN_BOARD_X_OFFSET - TETRIS_TILE_SIZE * SQUARE_PANEL_SIZE) / 2
NEXT_PANEL_Y_OFFSET = (HEIGHT - TETRIS_TILE_SIZE * SQUARE_PANEL_SIZE) / 2
HOLD_PANEL_X_OFFSET = (MAIN_BOARD_X_OFFSET - TETRIS_TILE_SIZE * SQUARE_PANEL_SIZE) / 2
HOLD_PANEL_Y_OFFSET = HEIGHT / 7
PIECE_STARTING_X = 4
PIECE_STARTING_Y = 1
DEFAULT_ORIENTATION = 0
PIECE_SIDE_PANEL_X = 2
PIECE_SIDE_PANEL_Y = 2
SCORE_PER_MOVE_DOWN = 1
SCORE_PER_AUTO_DOWN = 2
LINES_PER_LEVEL_UP = 10
TICK_SPEED_MULTIPLIER = 50
STARTING_TICK_SPEED = 1000 # in milliseconds
FASTEST_TICK_SPEED = 17 # in milliseconds (roughly equivalent to 60fps)
# COLORS
MAIN_BACKGROUND_COLOR = "#29303b"
FIELDS_COLOR = "#3e4756"
MEDIUM_BLUE = (60, 130, 200)
PURPLE = (155, 0, 228)
ORANGE = (255, 200, 0)
REGULAR_BLUE = (0, 0, 255)
SKY_BLUE = (30, 220, 252)
YELLOW = (255, 255, 0)
GREEN = (0, 255, 0)
RED = (255, 0, 0)
COOL_WHITE = "#ddf2ff"