X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fplayer.py;h=c53c6980b5702e5b26f99a66fd09f0689253cc99;hb=bcc041da95b01ae36c2198b5c6bc4bd75dcc0c24;hp=acae919c0c46c0b2d14338ca11d0c87289ab7df4;hpb=3757e52c05b60b636155a3205a579c118ae82cc1;p=naja.git diff --git a/naja/player.py b/naja/player.py index acae919..c53c698 100644 --- a/naja/player.py +++ b/naja/player.py @@ -33,18 +33,18 @@ class PlayerBits(object): # Operate on sets of bits - def check_bits(self, *bits): + def check_bits(self, bits): return all(self.check_bit(bit) for bit in bits) - def set_bits(self, *bits): + def set_bits(self, bits): for bit in bits: self.set_bit(bit) - def clear_bits(self, *bits): + def clear_bits(self, bits): for bit in bits: self.clear_bit(bit) - def toggle_bits(self, *bits): + def toggle_bits(self, bits): for bit in bits: self.toggle_bit(bit) @@ -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), + }