45ffa3c0b6a065ea9cad4d30a982e11d1c5d12b5
[naja.git] / naja / constants.py
1 from naja.attrdict import AttrDict
2
3
4 SCREEN = (800, 600)
5 FPS = 40
6 FONT = 'DejaVuSans.ttf'
7 FONT_SIZE = 16
8 EIGHT_BIT_SCALE = 4
9
10 DEFAULTS = dict(
11     debug=False,
12     sound=True,
13     music=True,
14 )
15
16 # Sound constants
17 FREQ = 44100   # same as audio CD
18 BITSIZE = -16  # unsigned 16 bit
19 CHANNELS = 2   # 1 == mono, 2 == stereo
20 BUFFER = 1024  # audio buffer size in no. of samples
21 DEFAULT_SOUND_VOLUME = 1.0  # sound volume
22 DEFAULT_MUSIC_VOLUME = 0.3  # music volume
23
24 # Player bits
25 BITS = AttrDict({
26     # Direction bits
27     'NORTH': 1,
28     'SOUTH': 2,
29     'EAST': 4,
30     'WEST': 8,
31     # Condition bits
32     'CYAN': 16,
33     'MAGENTA': 32,
34     'YELLOW': 64,
35     'MSB': 128,
36 })
37 DIRECTION_BITS = AttrDict((k, v) for k, v in BITS.items() if v < 4)
38 CONDITION_BITS = AttrDict((k, v) for k, v in BITS.items() if v >= 4)
39
40 # Player defaults
41 PLAYER_DEFAULTS = AttrDict({
42     'INITIAL_BITS': BITS.NORTH | BITS.SOUTH | BITS.EAST | BITS.WEST,
43     'INITIAL_POS': (2, 2),
44     'MAX_HEALTH': 4,
45     'WINS_REQUIRED': 4,
46 })
47
48 # Game size constants
49 TILE_SIZE = (96, 96)
50 BOARD_SIZE = (5 * TILE_SIZE[0], 5 * TILE_SIZE[1])
51 BIT_SIZE = (5 * TILE_SIZE[0], (SCREEN[1] - 5 * TILE_SIZE[1]) // 2)
52 INFO_SIZE = (SCREEN[0] - 5 * TILE_SIZE[0], SCREEN[1])
53 PLAYER_SIZE = (64, 96)