Add exmine mode
[naja.git] / naja / constants.py
index 45ffa3c0b6a065ea9cad4d30a982e11d1c5d12b5..f723fc24af850e2f6e20b519cf3abf8973d6920a 100644 (file)
@@ -1,9 +1,11 @@
+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
 
@@ -24,22 +26,22 @@ DEFAULT_MUSIC_VOLUME = 0.3  # music volume
 # Player bits
 BITS = AttrDict({
     # Direction bits
-    'NORTH': 1,
-    'SOUTH': 2,
-    'EAST': 4,
-    'WEST': 8,
+    'NORTH': 0,
+    'SOUTH': 1,
+    'EAST': 2,
+    'WEST': 3,
     # Condition bits
-    'CYAN': 16,
-    'MAGENTA': 32,
-    'YELLOW': 64,
-    'MSB': 128,
+    'CYAN': 4,
+    'MAGENTA': 5,
+    'YELLOW': 6,
+    'MSB': 7,
 })
 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_BITS': 0x0f,
     'INITIAL_POS': (2, 2),
     'MAX_HEALTH': 4,
     'WINS_REQUIRED': 4,
@@ -47,7 +49,25 @@ PLAYER_DEFAULTS = AttrDict({
 
 # 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
+EXAMINE = 3
+
+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),
+    'NOMOVE': (pgl.K_SPACE,),
+
+    'SELECT': (pgl.K_RETURN, pgl.K_KP_ENTER),
+    'QUIT': (pgl.K_ESCAPE, pgl.K_q),
+    'SWITCH': (pgl.K_TAB,),
+})