Revision 841f82f0
Added by Leszek Koltunski about 1 year ago
src/main/java/org/distorted/solvers/SolverPyraminxDuo.java | ||
---|---|---|
101 | 101 |
|
102 | 102 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
103 | 103 |
|
104 |
private int[] computeMissingCornerColor(int[][] corners)
|
|
104 |
private int[] computeFaceColor(int[][] corners)
|
|
105 | 105 |
{ |
106 | 106 |
int[] ret = new int[4]; |
107 | 107 |
|
... | ... | |
222 | 222 |
int result2 = checkAllCentersPresent(centers); |
223 | 223 |
if( result2<0 ) return result2; |
224 | 224 |
|
225 |
int[] missing = computeMissingCornerColor(corners);
|
|
225 |
int[] faces = computeFaceColor(corners);
|
|
226 | 226 |
|
227 |
int twist_gr = computeCenterTwist(centers,missing[1],missing[2]);
|
|
228 |
int twist_ry = computeCenterTwist(centers,missing[2],missing[0]);
|
|
227 |
int twist_gr = computeCenterTwist(centers,faces[1],faces[2]);
|
|
228 |
int twist_ry = computeCenterTwist(centers,faces[2],faces[0]);
|
|
229 | 229 |
|
230 | 230 |
if( (twist_ry-twist_gr+1)%3 != 0 ) return ERROR_TWO_CENTERS_SWAP; |
231 | 231 |
|
... | ... | |
233 | 233 |
|
234 | 234 |
for(int i=0; i<4; i++) |
235 | 235 |
{ |
236 |
corner_twist[i] = computeCornerTwist(i,corners[i],missing);
|
|
236 |
corner_twist[i] = computeCornerTwist(i,corners[i],faces);
|
|
237 | 237 |
if( corner_twist[i]<0 ) return corner_twist[i]; |
238 | 238 |
total_twist += corner_twist[i]; |
239 | 239 |
} |
240 | 240 |
|
241 | 241 |
if( (total_twist-twist_gr)%3 !=0 ) return ERROR_CORNER_TWISTED; |
242 | 242 |
|
243 |
int green_face = getFaceOfCenter(missing[1],centers);
|
|
243 |
int green_face = getFaceOfCenter(faces[1],centers);
|
|
244 | 244 |
|
245 | 245 |
return green_face + 4*(corner_twist[3] + 3*(corner_twist[2] + 3*(corner_twist[1] + 3*corner_twist[0]))); |
246 | 246 |
} |
Also available in: Unified diff
Jing tablebase. New, less pillowed Jing mesh.