def tomodel(self): b = BoardEditor() for key in Board.defaults.keys(): item = getattr(self, key) if key == 'position': if self.on_action == constants.YOU: setattr(b, key, decode_position(item)) elif self.on_action == constants.HIM: p = decode_position(item) setattr(b, key, (p[1], p[0])) else: assert False else: setattr(b, key, item) return b.freeze()
class Trial: def __init__(self, position): self.board = BoardEditor(position) self.result = Result(0, 0) def run(self): self.board.rolled = random.randint(1, 6), random.randint(1, 6) self.result.inc_roll() mf = MoveFactory(self.board) if mf.is_leagal_to_pickup_dice(): if self.board.is_doubles(): self.result.add_timing(self.board.rolled[0] * 4) else: self.result.add_timing(self.board.rolled[0] + self.board.rolled[1]) return True #print mf pid, mid = "2LYBAAAAAAAAAA:cAkgAAAAAAAA".split(':') decode(self.board, pid, mid) self.board.position = b.position[0], CLEAN return False def get_position(self): return HashableBoard.freeze(self.board)
def __init__(self, position): self.board = BoardEditor(position) self.result = Result(0, 0)
def make_finalStatePosition(gnubgid): pid, mid = gnubgid.split(':') b = BoardEditor() decode(b, pid, mid) b.position = b.position[0], CLEAN return HashableBoard.freeze(b)