X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fconstants.py;h=7dbd9696d67fce27a0ed1d15756e4f2ff6e72dad;hb=43aeb9dfb5db12277b2a77e6182f10f9d0c5ccb5;hp=92162ce1d87fd979eb0081e137ad556f970f4195;hpb=7ce574e6d8521f74fab9ca65847a49492c5783b5;p=naja.git diff --git a/naja/constants.py b/naja/constants.py index 92162ce..7dbd969 100644 --- a/naja/constants.py +++ b/naja/constants.py @@ -13,6 +13,12 @@ DEFAULTS = dict( debug=False, sound=True, music=True, + # We calculate the default in options.py + save_location=None, + # Debug flags: + initial_bits=None, + cheat_enabled=False, + game_state=None, ) # Sound constants @@ -24,20 +30,37 @@ DEFAULT_SOUND_VOLUME = 1.0 # sound volume DEFAULT_MUSIC_VOLUME = 0.3 # music volume # Player bits -BITS = AttrDict({ - # Direction bits +DIRECTION_BITS = AttrDict({ 'NORTH': 0, 'SOUTH': 1, 'EAST': 2, 'WEST': 3, - # Condition bits +}) +CONDITION_BITS = AttrDict({ 'BLUE': 4, 'GREEN': 5, 'RED': 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) +BITS = AttrDict() +BITS.update(DIRECTION_BITS) +BITS.update(CONDITION_BITS) + +# PLAYER MOVES +MOVES = AttrDict({ + # Default move + 'ADJACENT': 0, + # Chess moves + 'KNIGHT': 1, + 'BISHOP': 2, + 'CASTLE': 3, +}) +CHESS_PIECES = AttrDict((k, v) for k, v in MOVES.items() if v > 0) + +ROTATION = AttrDict({ + 'CLOCKWISE': 0, + 'ANTICLOCKWISE': 1, +}) # Player defaults PLAYER_DEFAULTS = AttrDict({ @@ -49,11 +72,15 @@ PLAYER_DEFAULTS = AttrDict({ # Game size constants TILE_SIZE = (96, 96) -LOCK_HEIGHT = 48 +LOCK_HEIGHT = 32 +SMALL_LOCK_HEIGHT = 24 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]) +INFO_LEFT_PADDING = 18 +INFO_RIGHT_PADDING = 18 PLAYER_SIZE = (64, 96) +ACTION_TEXT_OFFSET = 20 # Player States ACT = 1 @@ -69,4 +96,69 @@ KEYS = AttrDict({ 'SELECT': (pgl.K_RETURN, pgl.K_KP_ENTER), 'QUIT': (pgl.K_ESCAPE, pgl.K_q), 'SWITCH': (pgl.K_TAB,), + + 'KONAMI': ( + pgl.K_UP, pgl.K_DOWN, pgl.K_LEFT, pgl.K_RIGHT, pgl.K_a, pgl.K_b), +}) + +KONAMI_CODE = [ + pgl.K_UP, + pgl.K_UP, + pgl.K_DOWN, + pgl.K_DOWN, + pgl.K_LEFT, + pgl.K_RIGHT, + pgl.K_LEFT, + pgl.K_RIGHT, + pgl.K_b, + pgl.K_a, +] + +PALETTE = AttrDict({ + 'BLACK': (0, 0, 0), + 'DARK_RED': (108, 41, 64), + 'DARK_VIOLET': (64, 53, 120), + 'MAGENTA': (217, 60, 240), + 'DARK_GREEN': (19, 87, 64), + 'GREY': (128, 128, 128), + 'BLUE': (38, 151, 240), + 'LIGHT_VIOLET': (191, 180, 248), + 'DARK_OLIVE': (64, 75, 7), + 'ORANGE': (217, 104, 15), + 'PINK': (236, 168, 191), + 'GREEN': (38, 195, 15), + 'LIGHT_OLIVE': (191, 202, 135), + 'LIGHT_TURQUOISE': (147, 214, 191), + 'WHITE': (255, 255, 255), +}) + + +ACTION_GLYPHS = AttrDict({ + 'CLEAR_BITS': 'glyphs/bits_clear.png', + 'TOGGLE_BITS': 'glyphs/bits_toggle.png', + 'SET_BITS': 'glyphs/bits_set.png', + 'CHANGE_BOARD': 'glyphs/board.png', + 'DAMAGE': 'glyphs/damage.png', + 'HEAL': 'glyphs/health.png', + 'MOVEMENT': 'glyphs/move.png', + 'WINTOKEN': 'glyphs/win.png', + 'MSB': 'glyphs/msb.png', + 'NOTHING': 'glyphs/do_nothing.png', + 'SHIFT_LEFT': 'glyphs/shift_left.png', + 'SHIFT_RIGHT': 'glyphs/shift_right.png', }) + +TUNES = ( + 'ants.ogg', + 'python.ogg', + 'death_on_a_b.ogg', + 'scape.ogg', + 'another_beek.ogg', +) + +# Puzzles, because resources can't give us file lists +PUZZLES = ( + 'chess', + 'marathon', + 'belts', +)