self.surface.blit(bg, (0, 0))
# Look up the required bits on the board location
card = self.state.board_locations[self.board_pos]
+ player_pos = self.state.player.position
bits = []
for action in card.actions:
if action.required_bits:
bits.sort(key=lambda x: len(x))
y_offset = TILE_SIZE[1] - LOCK_HEIGHT * len(bits)
for pattern in bits:
- img = resources.get_image(BIT_MAP[pattern],
+ if self.board_pos != player_pos:
+ img_name = BIT_MAP[pattern]
+ else:
+ img_name = BIT_MAP[pattern].replace('.png', '_small.png')
+ if y_offset >= TILE_SIZE[1] // 2:
+ # FIXME: Hack'ish
+ # Bump the lock down by some hand-tuned factor
+ # to not overlap with the robot
+ y_offset += LOCK_HEIGHT // 2 - 6
+ img = resources.get_image(img_name,
transforms=(EIGHT_BIT,))
self.surface.blit(img, (5, y_offset))
y_offset += LOCK_HEIGHT