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/TwistyRex.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
  public static final float REX_D = 0.2f;
65 55

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

  
75 63
///////////////////////////////////////////////////////////////////////////////////////////////////
76 64

  
......
145 133

  
146 134
///////////////////////////////////////////////////////////////////////////////////////////////////
147 135

  
148
  protected int getSolvedFunctionIndex()
136
  public int getSolvedFunctionIndex()
149 137
    {
150 138
    return 0;
151 139
    }
......
173 161

  
174 162
///////////////////////////////////////////////////////////////////////////////////////////////////
175 163

  
176
  private void getLayerRotatable(int[] numLayers)
164
  public boolean[][] getLayerRotatable(int[] numLayers)
165
    {
166
    int numAxis = ROT_AXIS.length;
167
    boolean[] tmp = new boolean[] {true,false,true};
168
    boolean[][] layerRotatable = new boolean[numAxis][];
169
    for(int i=0; i<numAxis; i++) layerRotatable[i] = tmp;
170

  
171
    return layerRotatable;
172
    }
173

  
174
///////////////////////////////////////////////////////////////////////////////////////////////////
175

  
176
  public int getMovementType()
177
    {
178
    return MOVEMENT_HEXAHEDRON;
179
    }
180

  
181
///////////////////////////////////////////////////////////////////////////////////////////////////
182

  
183
  public int getMovementSplit()
184
    {
185
    return TYPE_SPLIT_CORNER;
186
    }
187

  
188
///////////////////////////////////////////////////////////////////////////////////////////////////
189

  
190
  public int[][][] getEnabled()
177 191
    {
178
    if( mLayerRotatable==null )
192
    return new int[][][]
179 193
      {
180
      int numAxis = ROT_AXIS.length;
181
      boolean[] tmp = new boolean[] {true,false,true};
182
      mLayerRotatable = new boolean[numAxis][];
183
      for(int i=0; i<numAxis; i++) mLayerRotatable[i] = tmp;
184
      }
194
          {{0,1},{3,1},{2,3},{0,2}},
195
          {{2,3},{3,1},{0,1},{0,2}},
196
          {{1,2},{0,1},{0,3},{2,3}},
197
          {{1,2},{2,3},{0,3},{0,1}},
198
          {{0,3},{0,2},{1,2},{1,3}},
199
          {{1,2},{0,2},{0,3},{1,3}},
200
      };
201
    }
202

  
203
///////////////////////////////////////////////////////////////////////////////////////////////////
204

  
205
  public float[] getDist3D(int[] numLayers)
206
    {
207
    return null;
185 208
    }
186 209

  
187 210
///////////////////////////////////////////////////////////////////////////////////////////////////
......
473 496
    return ROT_AXIS;
474 497
    }
475 498

  
476
///////////////////////////////////////////////////////////////////////////////////////////////////
477

  
478
  public Movement getMovement()
479
    {
480
    if( mMovement==null )
481
      {
482
      int[] numLayers = getNumLayers();
483
      if( mCuts==null ) getCuts(numLayers);
484
      getLayerRotatable(numLayers);
485
      mMovement = new Movement6(ROT_AXIS,mCuts,mLayerRotatable,numLayers[0],TYPE_SPLIT_CORNER,ENABLED);
486
      }
487
    return mMovement;
488
    }
489

  
490 499
///////////////////////////////////////////////////////////////////////////////////////////////////
491 500

  
492 501
  public int[] getBasicAngle()
......
516 525
    return R.string.rex3_inventor;
517 526
    }
518 527

  
528
///////////////////////////////////////////////////////////////////////////////////////////////////
529

  
530
  public int getYearOfInvention(int[] numLayers)
531
    {
532
    return 2009;
533
    }
534

  
519 535
///////////////////////////////////////////////////////////////////////////////////////////////////
520 536

  
521 537
  public int getComplexity(int[] numLayers)

Also available in: Unified diff