def twistMove(self): a = CubieCube() for i in range(self.N_TWIST): a.setTwist(i) for j in range(6): for k in range(3): a.cornerMultiply(CubieCube.moveCube(j)) self.twistMove[i][3 * j + k] = a.getTwist() a.cornerMultiply(CubieCube.moveCube[j])
def toCubieCube(self): from CubieCube import CubieCube """ generated source for method toCubieCube """ ori = int() ccRet = CubieCube() i = 0 while i < 8: ccRet.cp[i] = Corner.URF i += 1 i = 0 while i < 12: ccRet.ep[i] = Edge.UR i += 1 col1 = Color() col2 = Color() for i in Corner.values(): while ori < 3: if self.f[self.cornerFacelet[i.ordinal()][ori].ordinal()] == Color.U or self.f[self.cornerFacelet[i.ordinal()][ori].ordinal()] == Color.D: break ori += 1 col1 = self.f[self.cornerFacelet[i.ordinal()][(ori + 1) % 3].ordinal()] col2 = self.f[self.cornerFacelet[i.ordinal()][(ori + 2) % 3].ordinal()] for j in Corner.values(): if col1 == self.cornerColor[j.ordinal()][1] and col2 == self.cornerColor[j.ordinal()][2]: ccRet.cp[i.ordinal()] = j ccRet.co[i.ordinal()] = int((ori % 3)) break for i in Edge.values(): for j in Edge.values(): if self.f[self.edgeFacelet[i.ordinal()][0].ordinal()] == self.edgeColor[j.ordinal()][0] and self.f[self.edgeFacelet[i.ordinal()][1].ordinal()] == self.edgeColor[j.ordinal()][1]: ccRet.ep[i.ordinal()] = j ccRet.eo[i.ordinal()] = 0 break if self.f[self.edgeFacelet[i.ordinal()][0].ordinal()] == self.edgeColor[j.ordinal()][1] and self.f[self.edgeFacelet[i.ordinal()][1].ordinal()] == self.edgeColor[j.ordinal()][0]: ccRet.ep[i.ordinal()] = j ccRet.eo[i.ordinal()] = 1 break return ccRet
def randomCube(self): import random """ generated source for method randomCube """ cc = CubieCube() cc.setFlip(int(random.randint(0, CoordCube.N_FLIP))) cc.setTwist(int(random.randint(0, CoordCube.N_TWIST))) while True: cc.setURFtoDLB(random.randint(0, CoordCube.N_URFtoDLB)) cc.setURtoBR(random.randint(0, CoordCube.N_URtoBR)) if not (((cc.edgeParity() ^ cc.cornerParity()) != 0)): break fc = cc.toFaceCube() return fc.to_String()