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

Class Skewb

app/src/main/java/solver/Skewb.java:6–199  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4import java.util.Random;
5
6public class Skewb {
7 static short[][] ctm = new short[360][4];
8 static short[][] cpm = new short[12][4];
9 static short[][] com = new short[2187][4];
10 static byte[] ctd = new byte[360];
11 static byte[] cd = new byte[12 * 2187];
12 static int[] seq = new int[12];
13 private static String[] suff = {"'", ""};
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);

Callers

nothing calls this directly

Calls 1

initMethod · 0.95

Tested by

no test coverage detected