fixed lock repulsion
authoradrianna <adrianna.pinska@gmail.com>
Fri, 16 May 2014 12:56:22 +0000 (14:56 +0200)
committeradrianna <adrianna.pinska@gmail.com>
Fri, 16 May 2014 12:56:22 +0000 (14:56 +0200)
naja/constants.py
naja/widgets/tile.py

index ca1394b8bce2a8c2ae37edbb527bc40a634b086c..1ce931a871bdcfbc9dad55d38595607c24070746 100644 (file)
@@ -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])
index 93078a586df3cc90adc1327e59bafd5dff5ac22b..808798fd2e9f88df1a04c1475f3b4d5920695962 100644 (file)
@@ -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