Revision 55b2d967
Added by Leszek Koltunski about 1 year ago
src/main/java/org/distorted/solvers/SolverPyraminx.java | ||
---|---|---|
15 | 15 |
import org.distorted.objectlib.main.ObjectType; |
16 | 16 |
import org.distorted.objectlib.main.TwistyObject; |
17 | 17 |
import org.distorted.objectlib.tablebases.ImplementedTablebasesList; |
18 |
import org.distorted.objectlib.tablebases.TablebaseHelpers; |
|
18 | 19 |
import org.distorted.objectlib.tablebases.TablebasesAbstract; |
20 |
import org.distorted.objectlib.tablebases.TablebasesPyraminx; |
|
19 | 21 |
|
20 | 22 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
21 | 23 |
|
... | ... | |
43 | 45 |
private static final int ERROR_CORNER_TWISTED = -17; |
44 | 46 |
private static final int ERROR_EDGE_TWISTED = -18; |
45 | 47 |
private static final int ERROR_C_V_DONT_MATCH = -19; |
48 |
private static final int ERROR_TWO_EDGES = -20; |
|
46 | 49 |
|
47 | 50 |
TablebasesAbstract mSolver; |
48 | 51 |
|
... | ... | |
332 | 335 |
} |
333 | 336 |
|
334 | 337 |
int[] quats = computeEdgeQuats(edges); |
335 |
|
|
338 |
int[] permutation = new int[6]; |
|
339 |
TablebasesPyraminx.getEdgePermutation(permutation,quats); |
|
340 |
boolean even = TablebaseHelpers.permutationIsEven(permutation); |
|
341 |
if( !even ) return ERROR_TWO_EDGES; |
|
336 | 342 |
|
337 | 343 |
return 0; |
338 | 344 |
} |
... | ... | |
450 | 456 |
case ERROR_CORNERS_CANNOT : return res.getString(R.string.solver_generic_corners_cannot); |
451 | 457 |
case ERROR_VERTICES_CANNOT : return res.getString(R.string.solver_generic_vertices_cannot); |
452 | 458 |
case ERROR_C_V_DONT_MATCH : return res.getString(R.string.solver_generic_c_v_dont_match); |
453 |
|
|
459 |
case ERROR_TWO_EDGES : return res.getString(R.string.solver_generic_two_edges); |
|
454 | 460 |
} |
455 | 461 |
|
456 | 462 |
return null; |
Also available in: Unified diff
Pyraminx solver: progress