Revision 967c1d17
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/objects/TwistyMinx.java | ||
---|---|---|
19 | 19 |
|
20 | 20 |
package org.distorted.objects; |
21 | 21 |
|
22 |
import static org.distorted.objects.Movement.TYPE_SPLIT_EDGE; |
|
23 |
|
|
22 | 24 |
import android.content.res.Resources; |
23 | 25 |
|
24 | 26 |
import org.distorted.helpers.ObjectSticker; |
... | ... | |
57 | 59 |
new Static3D( SIN54/LEN, 0 , -C2/LEN ) |
58 | 60 |
}; |
59 | 61 |
|
62 |
private static final int[] NUM_ENABLED = {2,2,2,2,2,2,2,2,2,2,2,2}; |
|
63 |
|
|
64 |
private static final int[][][] ENABLED = new int[][][] |
|
65 |
{ |
|
66 |
{{2,3},{3,5},{1,5},{1,4},{2,4}}, |
|
67 |
{{0,5},{2,5},{2,3},{3,4},{0,4}}, |
|
68 |
{{2,3},{2,5},{0,5},{0,4},{3,4}}, |
|
69 |
{{1,5},{3,5},{2,3},{2,4},{1,4}}, |
|
70 |
{{0,3},{0,4},{4,5},{1,5},{1,3}}, |
|
71 |
{{1,2},{1,4},{4,5},{0,5},{0,2}}, |
|
72 |
{{4,5},{1,4},{1,2},{0,2},{0,5}}, |
|
73 |
{{4,5},{0,4},{0,3},{1,3},{1,5}}, |
|
74 |
{{0,2},{0,1},{1,3},{3,5},{2,5}}, |
|
75 |
{{3,4},{2,4},{1,2},{0,1},{0,3}}, |
|
76 |
{{2,4},{3,4},{0,3},{0,1},{1,2}}, |
|
77 |
{{1,3},{0,1},{0,2},{2,5},{3,5}}, |
|
78 |
}; |
|
79 |
|
|
60 | 80 |
private ScrambleState[] mStates; |
61 | 81 |
private int[] mBasicAngle; |
62 | 82 |
private int[] mFaceMap; |
... | ... | |
496 | 516 |
if( mQuats==null ) initializeQuats(); |
497 | 517 |
if( mFaceMap==null ) mFaceMap = new int[] {8,10,3,7,1,11,9,2,4,0,5,6}; |
498 | 518 |
int status = retCubitSolvedStatus(cubit,numLayers); |
499 |
return status<0 ? null : buildSolvedQuats(MovementMinx.FACE_AXIS[mFaceMap[status]],mQuats);
|
|
519 |
return status<0 ? null : buildSolvedQuats(Movement12.FACE_AXIS[mFaceMap[status]],mQuats);
|
|
500 | 520 |
} |
501 | 521 |
|
502 | 522 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
513 | 533 |
if( mCuts==null ) |
514 | 534 |
{ |
515 | 535 |
mCuts = new float[6][numLayers-1]; |
516 |
float D = numLayers*MovementMinx.DIST3D;
|
|
536 |
float D = numLayers*Movement12.DIST3D;
|
|
517 | 537 |
float X = 2*D/(2+SIN18); // height of the 'upper' part of a dodecahedron, i.e. put it on a table, |
518 | 538 |
// its height is then 2D, it has one 'lower' part of height X, one |
519 | 539 |
// 'middle' part of height Y and one upper part of height X again. |
... | ... | |
589 | 609 |
int numLayers = getNumLayers(); |
590 | 610 |
if( mCuts==null ) getCuts(numLayers); |
591 | 611 |
getLayerRotatable(numLayers); |
592 |
|
|
593 |
mMovement = new MovementMinx(mCuts,mLayerRotatable,numLayers); |
|
612 |
mMovement = new Movement12(ROT_AXIS,mCuts,mLayerRotatable,numLayers,TYPE_SPLIT_EDGE,NUM_ENABLED,ENABLED); |
|
594 | 613 |
} |
595 | 614 |
return mMovement; |
596 | 615 |
} |
Also available in: Unified diff
Do away with the last method in the object Movement classes. Remove the object Movement classes altogether.
From now on the implementation of a TwistyPuzzle is 100% data, no code at all.
Next step: make the implementation a (generated?) (XML?) file.