From: Jeremy Thurgood <firxen@gmail.com>
Date: Sat, 17 May 2014 16:45:49 +0000 (+0200)
Subject: Use new countdown glyphs.
X-Git-Tag: 0.1~77
X-Git-Url: https://git.ctpug.org.za/?a=commitdiff_plain;h=8e4b1a84e4370c19564541d822b074fcf22bdea9;p=naja.git

Use new countdown glyphs.
---

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: