// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Move table for the three edges UB,DR and DF in phase1. private void loadUBtoDFMoves(boolean force) { if (!force && UBtoDF_Move != null) return; UBtoDF_Move = new short[N_UBtoDF][N_MOVE]; CubieCube a = new CubieCube(); for (short i = 0; i < N_UBtoDF; i++) { a.setUBtoDF(i); for (int j = 0; j < 6; j++) { for (int k = 0; k < 3; k++) { a.edgeMultiply(CubieCube.moveCube[j]); UBtoDF_Move[i][3 * j + k] = a.getUBtoDF(); } a.edgeMultiply(CubieCube.moveCube[j]); } } }