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

Method scramble

app/src/main/java/solver/HalfTurn.java:100–126  ·  view source on GitHub ↗
(Random r)

Source from the content-addressed store, hash-verified

98 }
99
100 public static String scramble(Random r) {
101 int cp1, cp2;
102 do {
103 cp1 = r.nextInt(24);
104 cp2 = r.nextInt(24);
105 } while (cpd[cp1 * 24 + cp2] < 0);
106 int ep1, ep2, ep3;
107 do {
108 ep1 = r.nextInt(24);
109 ep2 = r.nextInt(24);
110 ep3 = r.nextInt(24);
111 } while (epd[ep1][ep2][ep3] < 0);
112 for (int d = 0; d < 20; d++) {
113 if (search(cp1, cp2, ep1, ep2, ep3, d, -1)) {
114 if (d < 2) return scramble(r);
115 if (d < 4) {
116 continue;
117 }
118 StringBuilder sb = new StringBuilder();
119 for (int i = 1; i <= d; i++) {
120 sb.append(turn[seq[i]]).append("2 ");
121 }
122 return sb.toString();
123 }
124 }
125 return "error";
126 }
127}

Callers 1

generateScrambleMethod · 0.95

Calls 2

searchMethod · 0.95
toStringMethod · 0.80

Tested by

no test coverage detected