Project

General

Profile

« Previous | Next » 

Revision 59c20632

Added by Leszek Koltunski over 2 years ago

Reorg for writing the JSON

View differences:

src/main/java/org/distorted/objectlib/objects/TwistyPyraminx.java
19 19

  
20 20
package org.distorted.objectlib.objects;
21 21

  
22
import static org.distorted.objectlib.main.Movement.MOVEMENT_TETRAHEDRON;
22 23
import static org.distorted.objectlib.main.Movement.TYPE_NOT_SPLIT;
23 24

  
24 25
import android.content.res.Resources;
......
30 31
import org.distorted.library.type.Static4D;
31 32

  
32 33
import org.distorted.objectlib.R;
33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement4;
35 35
import org.distorted.objectlib.main.ObjectControl;
36 36
import org.distorted.objectlib.main.ObjectType;
......
51 51
           new Static3D(-SQ6/3,+SQ3/3,     0),
52 52
         };
53 53

  
54
  private static final int[][][] ENABLED = new int[][][]
55
      {
56
          {{1,2,3}},{{0,2,3}},{{0,1,3}},{{0,1,2}}
57
      };
58

  
59 54
  private ScrambleState[] mStates;
60 55
  private int[] mBasicAngle;
61 56
  private Static4D[] mQuats;
62 57
  private float[][] mCuts;
63
  private boolean[][] mLayerRotatable;
64 58
  private ObjectSticker[] mStickers;
65
  private Movement mMovement;
66 59

  
67 60
///////////////////////////////////////////////////////////////////////////////////////////////////
68 61

  
......
228 221

  
229 222
///////////////////////////////////////////////////////////////////////////////////////////////////
230 223

  
231
  protected int getSolvedFunctionIndex()
224
  public int getSolvedFunctionIndex()
232 225
    {
233 226
    return 0;
234 227
    }
......
264 257

  
265 258
///////////////////////////////////////////////////////////////////////////////////////////////////
266 259

  
267
  private void getLayerRotatable(int[] numLayers)
260
  public boolean[][] getLayerRotatable(int[] numLayers)
268 261
    {
269
    if( mLayerRotatable==null )
270
      {
271
      int numAxis = ROT_AXIS.length;
272
      mLayerRotatable = new boolean[numAxis][];
262
    int numAxis = ROT_AXIS.length;
263
    boolean[][] layerRotatable = new boolean[numAxis][];
273 264

  
274
      for(int i=0; i<numAxis; i++)
275
        {
276
        mLayerRotatable[i] = new boolean[numLayers[i]];
277
        for(int j=0; j<numLayers[i]; j++) mLayerRotatable[i][j] = true;
278
        }
265
    for(int i=0; i<numAxis; i++)
266
      {
267
      layerRotatable[i] = new boolean[numLayers[i]];
268
      for(int j=0; j<numLayers[i]; j++) layerRotatable[i][j] = true;
279 269
      }
270

  
271
    return layerRotatable;
272
    }
273

  
274
///////////////////////////////////////////////////////////////////////////////////////////////////
275

  
276
  public int getMovementType()
277
    {
278
    return MOVEMENT_TETRAHEDRON;
279
    }
280

  
281
///////////////////////////////////////////////////////////////////////////////////////////////////
282

  
283
  public int getMovementSplit()
284
    {
285
    return TYPE_NOT_SPLIT;
286
    }
287

  
288
///////////////////////////////////////////////////////////////////////////////////////////////////
289

  
290
  public int[][][] getEnabled()
291
    {
292
    return new int[][][] { {{1,2,3}},{{0,2,3}},{{0,1,3}},{{0,1,2}} };
293
    }
294

  
295
///////////////////////////////////////////////////////////////////////////////////////////////////
296

  
297
  public float[] getDist3D(int[] numLayers)
298
    {
299
    return null;
280 300
    }
281 301

  
282 302
///////////////////////////////////////////////////////////////////////////////////////////////////
......
422 442
    return ROT_AXIS;
423 443
    }
424 444

  
425
///////////////////////////////////////////////////////////////////////////////////////////////////
426

  
427
  public Movement getMovement()
428
    {
429
    if( mMovement==null )
430
      {
431
      int[] numLayers = getNumLayers();
432
      if( mCuts==null ) getCuts(numLayers);
433
      getLayerRotatable(numLayers);
434
      mMovement = new Movement4(ROT_AXIS,mCuts,mLayerRotatable,numLayers[0],TYPE_NOT_SPLIT,ENABLED);
435
      }
436
    return mMovement;
437
    }
438

  
439 445
///////////////////////////////////////////////////////////////////////////////////////////////////
440 446

  
441 447
  public int[] getBasicAngle()
......
484 490
    return R.string.pyra3_inventor;
485 491
    }
486 492

  
493
///////////////////////////////////////////////////////////////////////////////////////////////////
494

  
495
  public int getYearOfInvention(int[] numLayers)
496
    {
497
    switch(numLayers[0])
498
      {
499
      case 3: return 1970;
500
      case 4: return 2002;
501
      case 5: return 2011;
502
      }
503
    return 1970;
504
    }
505

  
487 506
///////////////////////////////////////////////////////////////////////////////////////////////////
488 507

  
489 508
  public int getComplexity(int[] numLayers)

Also available in: Unified diff