Revision 91792184
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/objects/TwistyObject.java | ||
---|---|---|
32 | 32 |
import org.distorted.helpers.ObjectShape; |
33 | 33 |
import org.distorted.helpers.ObjectSticker; |
34 | 34 |
import org.distorted.helpers.QuatHelper; |
35 |
import org.distorted.helpers.ScrambleState; |
|
35 | 36 |
import org.distorted.library.effect.Effect; |
36 | 37 |
import org.distorted.library.effect.MatrixEffectMove; |
37 | 38 |
import org.distorted.library.effect.MatrixEffectQuaternion; |
... | ... | |
126 | 127 |
private int mRotRowBitmap; |
127 | 128 |
private int mRotAxis; |
128 | 129 |
private MeshBase mMesh; |
130 |
private final TwistyObjectScrambler mScrambler; |
|
129 | 131 |
|
130 | 132 |
//////////////////// SOLVED1 //////////////////////// |
131 | 133 |
|
... | ... | |
166 | 168 |
NUM_AXIS = mAxis.length; |
167 | 169 |
NUM_QUATS = OBJECT_QUATS.length; |
168 | 170 |
|
171 |
int scramblingType = getScrambleType(); |
|
172 |
ScrambleState[] states = getScrambleStates(); |
|
173 |
mScrambler = new TwistyObjectScrambler(scramblingType,NUM_AXIS,numLayers,states); |
|
174 |
|
|
169 | 175 |
boolean bandaged=false; |
170 | 176 |
|
171 | 177 |
for(int c=0; c<NUM_CUBITS; c++) |
... | ... | |
746 | 752 |
} |
747 | 753 |
} |
748 | 754 |
|
755 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
756 |
|
|
757 |
int getScrambleType() |
|
758 |
{ |
|
759 |
return 0; |
|
760 |
} |
|
761 |
|
|
749 | 762 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
750 | 763 |
|
751 | 764 |
int computeBitmapFromRow(int rowBitmap, int axis) |
... | ... | |
1260 | 1273 |
return mList; |
1261 | 1274 |
} |
1262 | 1275 |
|
1276 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
1277 |
|
|
1278 |
public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total) |
|
1279 |
{ |
|
1280 |
mScrambler.randomizeNewScramble(scramble,rnd,curr,total); |
|
1281 |
} |
|
1282 |
|
|
1263 | 1283 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
1264 | 1284 |
|
1265 | 1285 |
abstract float getScreenRatio(); |
... | ... | |
1280 | 1300 |
abstract ObjectShape getObjectShape(int cubit, int numLayers); |
1281 | 1301 |
abstract int[] getSolvedQuats(int cubit, int numLayers); |
1282 | 1302 |
abstract int getSolvedFunctionIndex(); |
1303 |
abstract ScrambleState[] getScrambleStates(); |
|
1283 | 1304 |
|
1284 | 1305 |
public abstract Static3D[] getRotationAxis(); |
1285 | 1306 |
public abstract int[] getBasicAngle(); |
1286 |
public abstract void randomizeNewScramble(int[][] scramble, Random rnd, int curScramble, int totScrambles); |
|
1287 | 1307 |
public abstract int getObjectName(int numLayers); |
1288 | 1308 |
public abstract int getInventor(int numLayers); |
1289 | 1309 |
public abstract int getComplexity(int numLayers); |
Also available in: Unified diff
Make object scrambling abstract (well, almost - with exception of Square-1 - this theoretically could also be done the generic way, but this would require almost 20000 'ScrambleStates')