+import pygame.locals as pgl
+
from naja.attrdict import AttrDict
SCREEN = (800, 600)
FPS = 40
-FONT = 'DejaVuSans.ttf'
+FONT = '4x6.pcf'
FONT_SIZE = 16
+EIGHT_BIT_SCALE = 4
DEFAULTS = dict(
debug=False,
# Player bits
BITS = AttrDict({
# Direction bits
- 'NORTH': 0,
- 'SOUTH': 1,
- 'EAST': 2,
- 'WEST': 3,
+ 'NORTH': 1,
+ 'SOUTH': 2,
+ 'EAST': 4,
+ 'WEST': 8,
# Condition bits
- 'CYAN': 4,
- 'MAGENTA': 5,
- 'YELLOW': 6,
- 'MSB': 7,
+ 'CYAN': 16,
+ 'MAGENTA': 32,
+ 'YELLOW': 64,
+ 'MSB': 128,
})
DIRECTION_BITS = AttrDict((k, v) for k, v in BITS.items() if v < 4)
CONDITION_BITS = AttrDict((k, v) for k, v in BITS.items() if v >= 4)
+
+# Player defaults
+PLAYER_DEFAULTS = AttrDict({
+ 'INITIAL_BITS': BITS.NORTH | BITS.SOUTH | BITS.EAST | BITS.WEST,
+ 'INITIAL_POS': (2, 2),
+ 'MAX_HEALTH': 4,
+ 'WINS_REQUIRED': 4,
+})
+
+# Game size constants
+TILE_SIZE = (96, 96)
+LOCK_HEIGHT = 48
+BOARD_SIZE = (5 * TILE_SIZE[0], 5 * TILE_SIZE[1])
+BIT_SIZE = (5 * TILE_SIZE[0], (SCREEN[1] - 5 * TILE_SIZE[1]) // 2)
+INFO_SIZE = (SCREEN[0] - 5 * TILE_SIZE[0], SCREEN[1])
+PLAYER_SIZE = (64, 96)
+
+# Player States
+MOVE = 1
+ACT = 2
+
+KEYS = AttrDict({
+ 'UP': (pgl.K_UP, pgl.K_w, pgl.K_COMMA),
+ 'DOWN': (pgl.K_DOWN, pgl.K_s, pgl.K_o),
+ 'LEFT': (pgl.K_LEFT, pgl.K_a),
+ 'RIGHT': (pgl.K_RIGHT, pgl.K_d, pgl.K_e),
+
+ 'SELECT': (pgl.K_RETURN, pgl.K_KP_ENTER),
+ 'QUIT': (pgl.K_ESCAPE, pgl.K_q),
+})