Move.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:python-rubik 作者: Wiston999 项目源码 文件源码
def __add__(self, move):
        if isinstance(move, (str, basestring)):
            return self + Move(move)
        elif move is None:
            return self
        elif isinstance(move, Move):
            if self.face != move.face:
                raise ValueError("Only same faces can be added")

            if self.clockwise and move.counterclockwise:
                return None
            if self.double and move.double:
                return None

            offset = (
                (self.clockwise + (self.double * 2) + (self.counterclockwise * 3)) +
                (move.clockwise + (move.double * 2) + (move.counterclockwise * 3))
            ) % 4

            if offset == 0:
                return None

            return Move(self.face + [None, "", "2", "'"][offset])
        else:
            raise ValueError("Unable to add %s and %s" %(self.raw, str(move)))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号