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/TwistyHelicopter.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_EDGE;
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;
......
54 54
           new Static3D(-SQ2/2, -SQ2/2,      0)
55 55
         };
56 56

  
57
  private static final int[][][] ENABLED = new int[][][]
58
      {
59
          {{2,5},{2,4},{3,4},{3,5}},
60
          {{2,4},{2,5},{3,5},{3,4}},
61
          {{0,5},{1,5},{1,4},{0,4}},
62
          {{0,4},{1,4},{1,5},{0,5}},
63
          {{1,3},{0,3},{0,2},{1,2}},
64
          {{0,3},{1,3},{1,2},{0,2}},
65
      };
66

  
67 57
  private ScrambleState[] mStates;
68 58
  private int[] mBasicAngle;
69 59
  private Static4D[] mQuats;
70 60
  private float[][] mCuts;
71
  private boolean[][] mLayerRotatable;
72 61
  private float[][] mCenters;
73 62
  private int[] mQuatIndices;
74 63
  private int[][] mFaceMap;
75 64
  private ObjectSticker[] mStickers;
76
  private Movement mMovement;
77 65

  
78 66
///////////////////////////////////////////////////////////////////////////////////////////////////
79 67

  
......
171 159

  
172 160
///////////////////////////////////////////////////////////////////////////////////////////////////
173 161

  
174
  protected int getSolvedFunctionIndex()
162
  public int getSolvedFunctionIndex()
175 163
    {
176 164
    return 0;
177 165
    }
......
198 186

  
199 187
///////////////////////////////////////////////////////////////////////////////////////////////////
200 188

  
201
  private void getLayerRotatable(int[] numLayers)
189
  public boolean[][] getLayerRotatable(int[] numLayers)
190
    {
191
    int numAxis = ROT_AXIS.length;
192
    boolean[] tmp = new boolean[] {true,false,true};
193
    boolean[][] layerRotatable = new boolean[numAxis][];
194
    for(int i=0; i<numAxis; i++) layerRotatable[i] = tmp;
195

  
196
    return layerRotatable;
197
    }
198

  
199
///////////////////////////////////////////////////////////////////////////////////////////////////
200

  
201
  public int getMovementType()
202
    {
203
    return MOVEMENT_HEXAHEDRON;
204
    }
205

  
206
///////////////////////////////////////////////////////////////////////////////////////////////////
207

  
208
  public int getMovementSplit()
209
    {
210
    return TYPE_SPLIT_EDGE;
211
    }
212

  
213
///////////////////////////////////////////////////////////////////////////////////////////////////
214

  
215
  public int[][][] getEnabled()
202 216
    {
203
    if( mLayerRotatable==null )
217
    return new int[][][]
204 218
      {
205
      int numAxis = ROT_AXIS.length;
206
      boolean[] tmp = new boolean[] {true,false,true};
207
      mLayerRotatable = new boolean[numAxis][];
208
      for(int i=0; i<numAxis; i++) mLayerRotatable[i] = tmp;
209
      }
219
          {{2,5},{2,4},{3,4},{3,5}},
220
          {{2,4},{2,5},{3,5},{3,4}},
221
          {{0,5},{1,5},{1,4},{0,4}},
222
          {{0,4},{1,4},{1,5},{0,5}},
223
          {{1,3},{0,3},{0,2},{1,2}},
224
          {{0,3},{1,3},{1,2},{0,2}},
225
      };
226
    }
227

  
228
///////////////////////////////////////////////////////////////////////////////////////////////////
229

  
230
  public float[] getDist3D(int[] numLayers)
231
    {
232
    return null;
210 233
    }
211 234

  
212 235
///////////////////////////////////////////////////////////////////////////////////////////////////
......
441 464
    return ROT_AXIS;
442 465
    }
443 466

  
444
///////////////////////////////////////////////////////////////////////////////////////////////////
445

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

  
458 467
///////////////////////////////////////////////////////////////////////////////////////////////////
459 468

  
460 469
  public int[] getBasicAngle()
......
484 493
    return R.string.heli3_inventor;
485 494
    }
486 495

  
496
///////////////////////////////////////////////////////////////////////////////////////////////////
497

  
498
  public int getYearOfInvention(int[] numLayers)
499
    {
500
    return 2006;
501
    }
502

  
487 503
///////////////////////////////////////////////////////////////////////////////////////////////////
488 504

  
489 505
  public int getComplexity(int[] numLayers)

Also available in: Unified diff