X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Futils.py;h=7ad4f582c2188a9c6fdcc914fa535eddd70fdc3f;hb=cb722a960176f4ebd0b0769c1f017ae2c32d52f8;hp=c7fe2e32f264c410b35b84eea533122c9f86c805;hpb=3a29cd975cba07c2b0683e2d5449de37de9842f3;p=naja.git diff --git a/naja/utils.py b/naja/utils.py index c7fe2e3..7ad4f58 100644 --- a/naja/utils.py +++ b/naja/utils.py @@ -17,3 +17,38 @@ def bit_glyphs(bits): bit_names = dict((v, k) for k, v in BITS.items()) return '{%s}' % ','.join(bit_names[bit] for bit in reversed(range(8)) if bit in bits) + + +def move_glyph(move_name): + return { + 'CASTLE': u'\u265c', + 'BISHOP': u'\u265d', + 'KNIGHT': u'\u265e', + }.get(move_name, move_name.lower()) + + +def parse_bits(bit_list): + # Convert names to numbers if applicable. + return frozenset(BITS.get(bit, bit) for bit in bit_list) + + +def warp_to_game_state(game_state): + from naja.events import LoadGameEvent, SceneChangeEvent + from naja.scenes.game import GameScene + LoadGameEvent.post(game_state) + SceneChangeEvent.post(GameScene) + + +class Flashlight(object): + def __init__(self, rate): + self.rate = rate + self.ticks = 0 + self.on = False + + def tick(self): + self.ticks += 1 + if self.ticks >= self.rate: + self.on = not self.on + self.ticks = 0 + return True + return False