Project

General

Profile

« Previous | Next » 

Revision 91792184

Added by Leszek Koltunski over 2 years ago

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')

View differences:

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