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 Enter 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",
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:
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)
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
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):