Use new countdown glyphs.
authorJeremy Thurgood <firxen@gmail.com>
Sat, 17 May 2014 16:45:49 +0000 (18:45 +0200)
committerJeremy Thurgood <firxen@gmail.com>
Sat, 17 May 2014 16:46:01 +0000 (18:46 +0200)
naja/scenes/howto.py
naja/widgets/text.py
naja/widgets/tile.py

index 560aca48e7ba971a015af59fc8502d5f4218d7a3..ffc8383aff695b9a44f40786157313a35207384e 100644 (file)
@@ -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,
index f0115550f80eef65ede91b8c17f10b8f3f6a4bff..c4ac45600ec398a5679656eb668dbb3c174d41ce 100644 (file)
@@ -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),
index 344a924ae27b0dcb99546b6e38d02a77b82aaa92..8ccb99db2671c5efdde8f0ba1de4dd7926cfdbb7 100644 (file)
@@ -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: