X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fconstants.py;h=486eacbf86033171e4d91d355890c783f1eb5515;hb=a1c561e26fae79ce8a9570c9404975a8a0367d65;hp=f81cb8f725a935c2fabb40784f80c9880d66eae2;hpb=aac1783aa9c84031bb37d74616ee72a7b32ebeac;p=naja.git diff --git a/naja/constants.py b/naja/constants.py index f81cb8f..486eacb 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,21 @@ 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({ @@ -50,6 +57,11 @@ MOVES = AttrDict({ }) 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({ 'INITIAL_BITS': 0x0f, @@ -60,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 @@ -80,9 +96,23 @@ 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), }) -# PALETTE +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), @@ -101,3 +131,33 @@ PALETTE = AttrDict({ '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', +)