From a00eb02d09522ce0f8aa4851b152c6181553b6a3 Mon Sep 17 00:00:00 2001 From: adrianna Date: Fri, 16 May 2014 14:56:22 +0200 Subject: [PATCH] fixed lock repulsion --- naja/constants.py | 1 + naja/widgets/tile.py | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/naja/constants.py b/naja/constants.py index ca1394b..1ce931a 100644 --- a/naja/constants.py +++ b/naja/constants.py @@ -62,6 +62,7 @@ PLAYER_DEFAULTS = AttrDict({ # Game size constants TILE_SIZE = (96, 96) 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]) diff --git a/naja/widgets/tile.py b/naja/widgets/tile.py index 93078a5..808798f 100644 --- a/naja/widgets/tile.py +++ b/naja/widgets/tile.py @@ -2,7 +2,7 @@ import pygame from naja.constants import ( - TILE_SIZE, BITS, LOCK_HEIGHT, EXAMINE, ACTION_GLYPHS, PALETTE) + TILE_SIZE, BITS, LOCK_HEIGHT, SMALL_LOCK_HEIGHT, EXAMINE, ACTION_GLYPHS, PALETTE) from naja.resources import resources from naja.resources.mutators import EIGHT_BIT, blender from naja.widgets.base import Widget @@ -78,11 +78,17 @@ class TileWidget(Widget): return 4 img_name = BIT_MAP[action.required_bits] + if self.board_pos != self.state.player.position: x_offset = 0 else: img_name = img_name.replace('.png', '_small.png') - x_offset = 4 + x_offset = 2 + if y_offset == LOCK_HEIGHT: + y_offset = 0 # middle -> top + elif y_offset == 2 * LOCK_HEIGHT: + y_offset += LOCK_HEIGHT - SMALL_LOCK_HEIGHT - 2 # bottom -> further down + img = resources.get_image(img_name, transforms=(EIGHT_BIT,)) self.surface.blit(img, (x_offset, y_offset)) return x_offset + img.get_width() + 2 -- 2.34.1