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/TwistyRedi.java
19 19

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

  
22
import static org.distorted.objectlib.main.Movement.MOVEMENT_HEXAHEDRON;
22 23
import static org.distorted.objectlib.main.Movement.TYPE_SPLIT_CORNER;
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.Movement6;
35 35
import org.distorted.objectlib.main.ObjectControl;
36 36
import org.distorted.objectlib.main.ObjectType;
......
51 51
           new Static3D(+SQ3/3,-SQ3/3,-SQ3/3)
52 52
         };
53 53

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

  
64 54
  private ScrambleState[] mStates;
65 55
  private int[] mBasicAngle;
66 56
  private Static4D[] mQuats;
67 57
  private float[][] mCuts;
68
  private boolean[][] mLayerRotatable;
69 58
  private float[][] mCenters;
70 59
  private int[][] mFaceMap;
71 60
  private ObjectSticker[] mStickers;
72
  private Movement mMovement;
73 61

  
74 62
///////////////////////////////////////////////////////////////////////////////////////////////////
75 63

  
......
150 138

  
151 139
///////////////////////////////////////////////////////////////////////////////////////////////////
152 140

  
153
  protected int getSolvedFunctionIndex()
141
  public int getSolvedFunctionIndex()
154 142
    {
155 143
    return 0;
156 144
    }
......
178 166

  
179 167
///////////////////////////////////////////////////////////////////////////////////////////////////
180 168

  
181
  private void getLayerRotatable(int[] numLayers)
169
  public boolean[][] getLayerRotatable(int[] numLayers)
170
    {
171
    int numAxis = ROT_AXIS.length;
172
    boolean[] tmp = new boolean[] {true,false,true};
173
    boolean[][] layerRotatable = new boolean[numAxis][];
174
    for(int i=0; i<numAxis; i++) layerRotatable[i] = tmp;
175

  
176
    return layerRotatable;
177
    }
178

  
179
///////////////////////////////////////////////////////////////////////////////////////////////////
180

  
181
  public int getMovementType()
182
    {
183
    return MOVEMENT_HEXAHEDRON;
184
    }
185

  
186
///////////////////////////////////////////////////////////////////////////////////////////////////
187

  
188
  public int getMovementSplit()
182 189
    {
183
    if( mLayerRotatable==null )
190
    return TYPE_SPLIT_CORNER;
191
    }
192

  
193
///////////////////////////////////////////////////////////////////////////////////////////////////
194

  
195
  public int[][][] getEnabled()
196
    {
197
    return new int[][][]
184 198
      {
185
      int numAxis = ROT_AXIS.length;
186
      boolean[] tmp = new boolean[] {true,false,true};
187
      mLayerRotatable = new boolean[numAxis][];
188
      for(int i=0; i<numAxis; i++) mLayerRotatable[i] = tmp;
189
      }
199
          {{0,1},{3,1},{2,3},{0,2}},
200
          {{2,3},{3,1},{0,1},{0,2}},
201
          {{1,2},{0,1},{0,3},{2,3}},
202
          {{1,2},{2,3},{0,3},{0,1}},
203
          {{0,3},{0,2},{1,2},{1,3}},
204
          {{1,2},{0,2},{0,3},{1,3}},
205
      };
206
    }
207

  
208
///////////////////////////////////////////////////////////////////////////////////////////////////
209

  
210
  public float[] getDist3D(int[] numLayers)
211
    {
212
    return null;
190 213
    }
191 214

  
192 215
///////////////////////////////////////////////////////////////////////////////////////////////////
......
439 462
    return ROT_AXIS;
440 463
    }
441 464

  
442
///////////////////////////////////////////////////////////////////////////////////////////////////
443

  
444
  public Movement getMovement()
445
    {
446
    if( mMovement==null )
447
      {
448
      int[] numLayers = getNumLayers();
449
      if( mCuts==null ) getCuts(numLayers);
450
      getLayerRotatable(numLayers);
451
      mMovement = new Movement6(ROT_AXIS,mCuts,mLayerRotatable,numLayers[0],TYPE_SPLIT_CORNER,ENABLED);
452
      }
453
    return mMovement;
454
    }
455

  
456 465
///////////////////////////////////////////////////////////////////////////////////////////////////
457 466

  
458 467
  public int[] getBasicAngle()
......
482 491
    return R.string.redi2_inventor;
483 492
    }
484 493

  
494
///////////////////////////////////////////////////////////////////////////////////////////////////
495

  
496
  public int getYearOfInvention(int[] numLayers)
497
    {
498
    return 2009;
499
    }
500

  
485 501
///////////////////////////////////////////////////////////////////////////////////////////////////
486 502

  
487 503
  public int getComplexity(int[] numLayers)

Also available in: Unified diff