MCPcopy Index your code
hub / github.com/MeigenChou/DCTimer-Android / init

Method init

app/src/main/java/solver/Skewb.java:16–86  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

14 static Random r = new Random();
15
16 static void init() {
17 /* center
18 * 0
19 * 4 1 2 3
20 * 5
21 */
22 int[] arr = new int[8];
23 for (int i = 0; i < 360; i++)
24 for (int j = 0; j < 4; j++) {
25 Utils.idxToPerm(arr, i, 6, true);
26 switch (j) {
27 case 0: Utils.circle(arr, 2, 5, 3); break; //R
28 case 1: Utils.circle(arr, 0, 3, 4); break; //U
29 case 2: Utils.circle(arr, 1, 4, 5); break; //L
30 case 3: Utils.circle(arr, 0, 1, 2); break; //F
31 }
32 //if (i == 0) System.out.println(j+": "+ Arrays.toString(arr));
33 ctm[i][j] = (short) Utils.permToIdx(arr, 6, true);
34 }
35 /* corner
36 * 4
37 * 0 1
38 * 3
39 * 5 6
40 * 2
41 */
42 for (int i=0; i<12; i++) {
43 for (int j = 0; j < 4; j++) {
44 Utils.idxToPerm(arr, i, 4, true);
45 switch (j) {
46 case 0: Utils.circle(arr, 1, 2, 3); break; //R
47 case 1: Utils.circle(arr, 0, 1, 3); break; //U
48 case 2: Utils.circle(arr, 2, 0, 3); break; //L
49 case 3: Utils.circle(arr, 0, 2, 1); break; //F
50 }
51 cpm[i][j] = (short) Utils.permToIdx(arr, 4, true);
52 }
53 }
54 for (int i = 0; i < 2187; i++) {
55 for (int j = 0; j < 4; j++) {
56 Utils.idxToOri(arr, i, 8, true);
57 switch (j) {
58 case 0: //R
59 Utils.circle(arr, 1, 2, 3);
60 arr[6]++; arr[1] += 2; arr[2] += 2; arr[3] += 2;
61 break;
62 case 1: //U
63 Utils.circle(arr, 0, 1, 3);
64 arr[4]++; arr[0] += 2; arr[1] += 2; arr[3] += 2;
65 break;
66 case 2: //L
67 Utils.circle(arr, 2, 0, 3);
68 arr[5]++; arr[0] += 2; arr[2] += 2; arr[3] += 2;
69 break;
70 case 3: //F
71 Utils.circle(arr, 0, 2, 1);
72 arr[7]++; arr[0] += 2; arr[1] += 2; arr[2] += 2;
73 break;

Callers 1

SkewbClass · 0.95

Calls 6

idxToPermMethod · 0.95
circleMethod · 0.95
permToIdxMethod · 0.95
idxToOriMethod · 0.95
oriToIdxMethod · 0.95
createPrunMethod · 0.95

Tested by

no test coverage detected