Listing 6 SUB Edges1 'locate u/f edge cube (23 other possible 'positions/orientations) and move to u/f PrStr "Top layer edges", 3: uc = c(1, 2, 2) 'U & FOR n = 1 TO 4: fc = c(5, 2, 2) '..F Centre colours 'if at u/f but flipped. (If not flipped, leave it) IF c(1, 2, 1) = fc AND c(5, 1, 2) = uc THEN PrStr "Flip u/f cube ", 4: PrStr "ie. F2LD-1L-1F", 5 Rotpr 5,2: Rotpr 3,1: Rotpr 2,3: Rotpr 3,3: Rotpr 5,1 END IF 'if at r/f (2 orientations at each position) IF c(4, 2, 3) = uc AND c(5, 2, 3) = fc THEN PrStr "Move r/f to u/f", 4: PrStr "ie. F-1 ", 5 Rotpr 5, 3 END IF IF c(4, 2, 3) = fc AND c(5, 2, 3) = uc THEN PrStr "Move r/f to u/f", 4: PrStr "ie. FLD-1L-1F", 5 Rotpr 5,1: Rotpr 3,1: Rotpr 2,3: Rotpr 3,3: Rotpr 5,1 END IF 'if at d/f IF c(2, 3, 2) = uc AND c(5, 3, 2) = fc THEN PrStr "Move d/f to u/f", 4: PrStr "ie. F2 ", 5 Rotpr 5, 2 END IF IF c(2, 3, 2) = fc AND c(5, 3, 2) = uc THEN PrStr "Move d/f to u/f", 4: PrStr "ie. LD-1L-1F ", 5 Rotpr 3, 1: Rotpr 2, 3: Rotpr 3, 3: Rotpr 5, 1 END IF 'if at l/f IF c(3, 1, 2) = uc AND c(5, 2, 1) = fc THEN PrStr "Move l/f to u/f", 4: PrStr "ie. F ", 5 Rotpr 5, 1 END IF IF c(3, 1, 2) = fc AND c(5, 2, 1) = uc THEN PrStr "Move l/f to u/f", 4: PrStr "ie.F-1LD-1L-1F", 5 Rotpr 5,3: Rotpr 3,1: Rotpr 2,3: Rotpr 3,3: Rotpr 5,1 END IF 'if at d/l IF c(2, 2, 3) = fc AND c(3, 2, 3) = uc THEN PrStr "Move d/l to u/f", 4: PrStr "ie. L-1FL ", 5 Rotpr 3, 3: Rotpr 5, 1: Rotpr 3, 1 END IF IF c(2, 2, 3) = uc AND c(3, 2, 3) = fc THEN PrStr "Move d/l to u/f", 4: PrStr "ie. DF2 ", 5 Rotpr 2, 1: Rotpr 5, 2 END IF 'if at d/b IF c(2, 1, 2) = uc AND c(6, 2, 1) = fc THEN PrStr "Move d/b to u/f", 4: PrStr "ie. D2F2 ", 5 Rotpr 2, 2: Rotpr 5, 2 END IF IF c(2, 1, 2) = fc AND c(6, 2, 1) = uc THEN PrStr "Move d/b to u/f", 4: PrStr "ie. DL-1FL ", 5 Rotpr 2, 1: Rotpr 3, 3: Rotpr 5, 1: Rotpr 3, 1 END IF 'if at d/r IF c(2, 2, 1) = fc AND c(4, 1, 2) = uc THEN PrStr "Move d/r to u/f", 4: PrStr "ie. RF-1R-1 ", 5 Rotpr 4, 1: Rotpr 5, 3: Rotpr 4, 3 END IF IF c(2, 2, 1) = uc AND c(4, 1, 2) = fc THEN PrStr "Move d/r to u/f", 4: PrStr "ie. D-1F2 ", 5 Rotpr 2, 3: Rotpr 5, 2 END IF 'if at b/r IF c(4, 2, 1) = fc AND c(6, 1, 2) = uc THEN PrStr "Move b/r to u/f", 4: PrStr "ie. RD-1F2R-1", 5 Rotpr 4, 1: Rotpr 2, 3: Rotpr 5, 2: Rotpr 4, 3 END IF IF c(4, 2, 1) = uc AND c(6, 1, 2) = fc THEN PrStr "Move b/r to u/f", 4: PrStr "ie. R2F-1R2 ", 5 Rotpr 4, 2: Rotpr 5, 3: Rotpr 4, 2 END IF 'if at b/l IF c(3, 3, 2) = fc AND c(6, 3, 2) = uc THEN PrStr "Move b/l to u/f", 4: PrStr "ie. L-1DF2L ", 5 Rotpr 3, 3: Rotpr 2, 1: Rotpr 5, 2: Rotpr 3, 1 END IF IF c(3, 3, 2) = uc AND c(6, 3, 2) = fc THEN PrStr "Move b/l to u/f", 4: PrStr "ie. L2FL2 ", 5 Rotpr 3, 2: Rotpr 5, 1: Rotpr 3, 2 END IF 'if at l/u IF c(3, 2, 1) = fc AND c(1, 1, 2) = uc THEN PrStr "Move l/u to u/f", 4: PrStr "ie. L2DF2 ", 5 Rotpr 3, 2: Rotpr 2, 1: Rotpr 5, 2 END IF IF c(3, 2, 1) = uc AND c(1, 1, 2) = fc THEN PrStr "Move l/u to u/f", 4: PrStr "ie. LF ", 5 Rotpr 3, 1: Rotpr 5, 1 END IF 'if at b/u IF c(6, 2, 3) = fc AND c(1, 2, 3) = uc THEN PrStr "Move b/u to u/f", 4: PrStr "ie. B2D2F2 ", 5 Rotpr 6, 2: Rotpr 2, 2: Rotpr 5, 2 END IF IF c(6, 2, 3) = uc AND c(1, 2, 3) = fc THEN PrStr "Move b/u to u/f", 4: PrStr "ie. BL-1DLF2 ", 5 Rotpr 6,1: Rotpr 3,3: Rotpr 2,1: Rotpr 3,1: Rotpr 5,2 END IF 'if at r/u IF c(4, 3, 2) = fc AND c(1, 3, 2) = uc THEN PrStr "Move r/u to u/f", 4: PrStr "ie. R2D-1F2 ", 5 Rotpr 4, 2: Rotpr 2, 3: Rotpr 5, 2 END IF IF c(4, 3, 2) = uc AND c(1, 3, 2) = fc THEN PrStr "Move r/u to u/f", 4: PrStr "ie. R-1F-1 ", 5 Rotpr 4, 3: Rotpr 5, 3 END IF IF n < 4 THEN RotCube NEXT n PrStr blank,3:PrStr blank,4: PrStr blank,5:PrStr blank,6 END SUB --------------- End of Listing 6