From 8e4b1a84e4370c19564541d822b074fcf22bdea9 Mon Sep 17 00:00:00 2001 From: Jeremy Thurgood Date: Sat, 17 May 2014 18:45:49 +0200 Subject: [PATCH] Use new countdown glyphs. --- naja/scenes/howto.py | 5 +++-- naja/widgets/text.py | 1 + naja/widgets/tile.py | 27 ++++++++++++++++++--------- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/naja/scenes/howto.py b/naja/scenes/howto.py index 560aca4..ffc8383 100644 --- a/naja/scenes/howto.py +++ b/naja/scenes/howto.py @@ -47,8 +47,9 @@ class HowtoScene(Scene): "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, diff --git a/naja/widgets/text.py b/naja/widgets/text.py index f011555..c4ac456 100644 --- a/naja/widgets/text.py +++ b/naja/widgets/text.py @@ -24,6 +24,7 @@ MARKUP_MAP = { '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), diff --git a/naja/widgets/tile.py b/naja/widgets/tile.py index 344a924..8ccb99d 100644 --- a/naja/widgets/tile.py +++ b/naja/widgets/tile.py @@ -6,7 +6,6 @@ from naja.constants import ( 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 = { @@ -75,14 +74,24 @@ class TileWidget(Widget): 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: -- 2.34.1