| 221 | } |
| 222 | |
| 223 | public static int[] tomove(String s) { |
| 224 | s = s.replaceAll("\\s", ""); |
| 225 | int[] arr = new int[s.length()]; |
| 226 | int j = 0; |
| 227 | for (int i=0, length=s.length(); i<length; i++) { |
| 228 | int axis = -1; |
| 229 | switch (s.charAt(i)) { |
| 230 | case 'U': axis = 0; break; |
| 231 | case 'R': axis = 1; break; |
| 232 | case 'F': axis = 2; break; |
| 233 | case 'D': axis = 3; break; |
| 234 | case 'L': axis = 4; break; |
| 235 | case 'B': axis = 5; break; |
| 236 | case 'u': axis = 6; break; |
| 237 | case 'r': axis = 7; break; |
| 238 | case 'f': axis = 8; break; |
| 239 | case 'd': axis = 9; break; |
| 240 | case 'l': axis = 10; break; |
| 241 | case 'b': axis = 11; break; |
| 242 | default: continue; |
| 243 | } |
| 244 | axis *= 3; |
| 245 | if (++i<length) { |
| 246 | switch (s.charAt(i)) { |
| 247 | case '2': axis++; break; |
| 248 | case '\'': axis+=2; break; |
| 249 | default: --i; |
| 250 | } |
| 251 | } |
| 252 | arr[j++] = axis; |
| 253 | } |
| 254 | |
| 255 | int[] ret = new int[j]; |
| 256 | while (--j>=0) { |
| 257 | ret[j] = arr[j]; |
| 258 | } |
| 259 | return ret; |
| 260 | } |
| 261 | |
| 262 | |
| 263 | // public void calc(Random r) { |