| 61 | |
| 62 | private static String[] color = {"D: ", "U: ", "L: ", "R: ", "F: ", "B: "}; |
| 63 | private static String solve(String scramble, int face) { |
| 64 | String[] s = scramble.split(" "); |
| 65 | int fc = solved[face], d; |
| 66 | for (d = 0; d < s.length; d++) |
| 67 | if (s[d].length() != 0) { |
| 68 | int m = "URF".indexOf(s[d].charAt(0)); |
| 69 | fc = facemv[fc][m]; |
| 70 | if (s[d].length() > 1) { |
| 71 | fc = facemv[fc][m]; |
| 72 | if (s[d].charAt(1) == '\'') |
| 73 | fc = facemv[fc][m]; |
| 74 | } |
| 75 | } |
| 76 | for (d = 0; d < 7; d++) |
| 77 | if (search(fc, d, -1)) { |
| 78 | StringBuilder sb = new StringBuilder("\n"); |
| 79 | sb.append(color[face]); |
| 80 | for (int i = d; i > 0; i--) |
| 81 | sb.append("URF".charAt(seq[i] / 3)).append(suff[seq[i] % 3]).append(" "); |
| 82 | return sb.toString(); |
| 83 | } |
| 84 | return "error"; |
| 85 | } |
| 86 | |
| 87 | public static String solveFace(String scramble, int face) { |
| 88 | StringBuilder sb = new StringBuilder("\n"); |