// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Move table for the flips of the edges // flip < 2048 in phase 1 // flip = 0 in phase 2. private void loadFlipMoves(boolean force) { if (!force && flipMove != null) return; flipMove = new short[N_FLIP][N_MOVE]; CubieCube a = new CubieCube(); for (short i = 0; i < N_FLIP; i++) { a.setFlip(i); for (int j = 0; j < 6; j++) { for (int k = 0; k < 3; k++) { a.edgeMultiply(CubieCube.moveCube[j]); flipMove[i][3 * j + k] = a.getFlip(); } a.edgeMultiply(CubieCube.moveCube[j]); // a } } }