X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fwidgets%2Finfo_area.py;h=97c3daacc261411052e0e379b865c105c12074cc;hb=4bc519aed28267ba4e336e9cb81948a5d6533c34;hp=f0f8eefee7c86b1ac291c9f418d915cba17d2118;hpb=a2e00020315065e5730f9fcdd50bf9200d575195;p=naja.git diff --git a/naja/widgets/info_area.py b/naja/widgets/info_area.py index f0f8eef..97c3daa 100644 --- a/naja/widgets/info_area.py +++ b/naja/widgets/info_area.py @@ -17,15 +17,16 @@ from naja.utils import bit_glyphs from naja.widgets.base import Widget from naja.widgets.tile import BIT_MAP from naja.widgets.text import TextBoxWidget, TextWidget +from naja import constants HINTS = { - ACT: ("Choose an action using the Up/Down keys.\n" - "Press Return to execute the action."), - EXAMINE: "Select a tile to examine using the arrow keys.", + ACT: "Choose an action using {NORTH,SOUTH} keys.\n" + "Press {RETURN} to execute it.", + EXAMINE: "Browse the tiles with {NORTH,SOUTH,EAST,WEST} keys.", } -HINT_LEGAL_MOVE = "\nPress Return to move to this tile." +HINT_LEGAL_MOVE = "\nPress {RETURN} to move to this tile." TITLES = { ACT: "Choose an Action", @@ -43,6 +44,8 @@ class InfoAreaWidget(Widget): self.chosen = None self.card_position = state.player.position self.set_position(state.player.position) + self.flash_count = 0 + self.flash_light = True def prepare(self): if self.state.gameboard.player_mode == ACT: @@ -85,8 +88,9 @@ class InfoAreaWidget(Widget): hint = TextBoxWidget( (0, 0), hint_text, padding=4, - box_width=box_width, - border=2, border_colour=PALETTE.GREY) + colour=PALETTE.WHITE, border=2, + bg_colour=PALETTE.BLACK, border_colour=PALETTE.BLUE, + box_width=box_width) hint.prepare() y_offset = (INFO_SIZE[1] - hint.surface.get_rect().height - BIT_SIZE[1] - 2) @@ -130,7 +134,13 @@ class InfoAreaWidget(Widget): border_colour = None if choice == self.chosen: - border_colour = PALETTE.GREEN if action_viable else PALETTE.ORANGE + if self.flash_light: + border_colour = (PALETTE.GREEN if action_viable else + PALETTE.ORANGE) + else: + border_colour = (PALETTE.DARK_GREEN if action_viable else + PALETTE.DARK_RED) + if border_colour: bottom = y_offset + text.surface.get_rect().height right = text.surface.get_rect().width + x_offset @@ -181,6 +191,11 @@ class InfoAreaWidget(Widget): self.chosen = None def draw(self, surface): + self.flash_count += 1 + if self.flash_count >= (constants.FPS // 2): + self.flash_light = not self.flash_light + self.flash_count = 0 + self.prepare() surface.blit(self.surface, self.pos) def next_action(self, viable_only=False, step=1):