MCPcopy Create free account
hub / github.com/MeigenChou/DCTimer-Android / doMove

Method doMove

app/src/main/java/cs/sq12phase/FullCube.java:68–95  ·  view source on GitHub ↗

@param move 0 = twist [1, 11] = top move [-1, -11] = bottom move for example, 6 == (6, 0), 9 == (-3, 0), -4 == (0, 4)

(int move)

Source from the content-addressed store, hash-verified

66 * for example, 6 == (6, 0), 9 == (-3, 0), -4 == (0, 4)
67 */
68 void doMove(int move) {
69 move <<= 2;
70 if (move > 24) {
71 move = 48 - move;
72 int temp = ul;
73 ul = (ul >> move | ur << (24 - move)) & 0xffffff;
74 ur = (ur >> move | temp << (24 - move)) & 0xffffff;
75 } else if (move > 0) {
76 int temp = ul;
77 ul = (ul << move | ur >> (24 - move)) & 0xffffff;
78 ur = (ur << move | temp >> (24 - move)) & 0xffffff;
79 } else if (move == 0) {
80 int temp = ur;
81 ur = dl;
82 dl = temp;
83 ml = 1 - ml;
84 } else if (move >= -24) {
85 move = -move;
86 int temp = dl;
87 dl = (dl << move | dr >> (24 - move)) & 0xffffff;
88 dr = (dr << move | temp >> (24 - move)) & 0xffffff;
89 } else if (move < -24) {
90 move = 48 + move;
91 int temp = dl;
92 dl = (dl >> move | dr << (24 - move)) & 0xffffff;
93 dr = (dr >> move | temp << (24 - move)) & 0xffffff;
94 }
95 }
96
97 private byte pieceAt(int idx) {
98 int ret;

Callers 2

isSolvedInPhase1Method · 0.45
init2Method · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected