X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fplayer.py;h=97422b867d25fab3ea31675ba2978450a1f00701;hb=67e79ba3fbe96590efa50a73fe983c2810efdd0f;hp=fcfc3301de4ab22bdfed7982b210d4acc73a29e3;hpb=ede149141d8dcbd6bed5bf3ff710d2f716ac8421;p=naja.git diff --git a/naja/player.py b/naja/player.py index fcfc330..97422b8 100644 --- a/naja/player.py +++ b/naja/player.py @@ -20,16 +20,16 @@ class PlayerBits(object): # Operate on individual bits def check_bit(self, bit): - return bool(self.bits & (1 << bit)) + return bool(self.bits & bit) def set_bit(self, bit): - self.bits |= (1 << bit) + self.bits |= bit def clear_bit(self, bit): - self.bits &= (0xff ^ (1 << bit)) + self.bits &= (0xff ^ bit) def toggle_bit(self, bit): - self.bits ^= (1 << bit) + self.bits ^= bit # Operate on sets of bits @@ -57,3 +57,13 @@ class Player(object): def __init__(self, bits, position): self.bits = PlayerBits(bits) self.position = position + + @classmethod + def import_player(cls, definition): + return cls(definition['bits'], tuple(definition['position'])) + + def export(self): + return { + 'bits': self.bits.bits, + 'position': list(self.position), + }