"health {HEALTH}, you lose.",
"Some actions gain you points {WINTOKEN}. Once you have "
"enough points, you win the game.",
- "Some tiles have a coutdown timer in the top right corner. "
- "If this timer is + it means more than 9 turns remain.",
+ "Some tiles have a countdown timer {COUNTDOWN}. This "
+ "indicates the number of turns left before something "
+ "happens. The timer moves faster as the deadline approaches.",
"",
"Press ESC to return to the menu.",
]), fontsize=32,
'ANTICLOCKWISE': ('glyphs/anticlockwise.png', None),
'SHIFT_LEFT': ('glyphs/shift_left.png', None),
'SHIFT_RIGHT': ('glyphs/shift_right.png', None),
+ 'COUNTDOWN': ('glyphs/countdown_4.png', PALETTE.DARK_VIOLET),
'HEALTH_NOCOLOUR': ('glyphs/health.png', None),
'WINTOKEN_NOCOLOUR': ('glyphs/win.png', None),
from naja.resources import resources
from naja.resources.mutators import EIGHT_BIT, blender
from naja.widgets.base import Widget
-from naja.widgets.text import TextBoxWidget
BIT_MAP = {
for action in card.actions:
y_offset = self._prepare_action(action, y_offset)
- if card.replacement_time is not None:
- timestr = str(card.replacement_time)
- if len(timestr) > 1:
- timestr = '+'
- countdown_text = TextBoxWidget(
- (TILE_SIZE[0] - 24, 4), timestr, padding=2,
- colour=PALETTE.PINK, bg_colour=PALETTE.DARK_RED)
- countdown_text.render(self.surface)
+ self._prepare_countdown(card)
+
+ def _prepare_countdown(self, card):
+ if card.replacement_time is None:
+ return
+ elif card.replacement_time <= 1:
+ glyph = 'glyphs/countdown_1.png'
+ elif card.replacement_time == 2:
+ glyph = 'glyphs/countdown_2.png'
+ elif card.replacement_time == 3:
+ glyph = 'glyphs/countdown_3.png'
+ elif card.replacement_time < 8:
+ glyph = 'glyphs/countdown_4.png'
+ else:
+ glyph = 'glyphs/countdown_5.png'
+ img = resources.get_image(
+ glyph, transforms=(EIGHT_BIT, blender(PALETTE.DARK_VIOLET)))
+ self.surface.blit(img, (TILE_SIZE[0] - 20, 0))
def _prepare_lock(self, action, y_offset):
if not action.required_bits: