X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fconstants.py;h=d93b45cf8a4b652b5d0d27f40eb59ad04752ea17;hb=0cef06f581d48315a59a19ac06ca1d2be14cbb4c;hp=faa8c55b14cac16ed99e0459f773c8f7e4039230;hpb=39f49f9579bdee2ad449246d1370a0be27186ed9;p=naja.git diff --git a/naja/constants.py b/naja/constants.py index faa8c55..d93b45c 100644 --- a/naja/constants.py +++ b/naja/constants.py @@ -1,7 +1,13 @@ +import pygame.locals as pgl + +from naja.attrdict import AttrDict + + SCREEN = (800, 600) FPS = 40 -FONT = 'DejaVuSans.ttf' +FONT = '8x13.pcf' FONT_SIZE = 16 +EIGHT_BIT_SCALE = 2 DEFAULTS = dict( debug=False, @@ -16,3 +22,51 @@ CHANNELS = 2 # 1 == mono, 2 == stereo BUFFER = 1024 # audio buffer size in no. of samples DEFAULT_SOUND_VOLUME = 1.0 # sound volume DEFAULT_MUSIC_VOLUME = 0.3 # music volume + +# Player bits +BITS = AttrDict({ + # Direction bits + 'NORTH': 0, + 'SOUTH': 1, + 'EAST': 2, + 'WEST': 3, + # Condition bits + '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': 0x0f, + '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 +ACT = 1 +EXAMINE = 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), + 'NOMOVE': (pgl.K_SPACE,), + + 'SELECT': (pgl.K_RETURN, pgl.K_KP_ENTER), + 'QUIT': (pgl.K_ESCAPE, pgl.K_q), + 'SWITCH': (pgl.K_TAB,), +})