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/TwistyIvy.java
20 20
package org.distorted.objectlib.objects;
21 21

  
22 22
import static org.distorted.objectlib.main.Movement.TYPE_SPLIT_CORNER;
23
import static org.distorted.objectlib.main.Movement.MOVEMENT_HEXAHEDRON;
23 24

  
24 25
import android.content.res.Resources;
25 26

  
......
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},{3},{3},{0}},
57
          {{2},{1},{1},{2}},
58
          {{2},{0},{0},{2}},
59
          {{1},{3},{3},{1}},
60
          {{0},{0},{1},{1}},
61
          {{2},{2},{3},{3}},
62
      };
63

  
64 54
  private static final int NUM_STICKERS = 2;
65 55
  public static final float IVY_D = 0.006f;
66 56
  private static final int  IVY_N = 8;
......
69 59
  private int[] mBasicAngle;
70 60
  private Static4D[] mQuats;
71 61
  private float[][] mCuts;
72
  private boolean[][] mLayerRotatable;
73 62
  private int[][] mFaceMap;
74 63
  private ObjectSticker[] mStickers;
75
  private Movement mMovement;
76 64

  
77 65
///////////////////////////////////////////////////////////////////////////////////////////////////
78 66

  
......
147 135

  
148 136
///////////////////////////////////////////////////////////////////////////////////////////////////
149 137

  
150
  protected int getSolvedFunctionIndex()
138
  public int getSolvedFunctionIndex()
151 139
    {
152 140
    return 0;
153 141
    }
......
174 162

  
175 163
///////////////////////////////////////////////////////////////////////////////////////////////////
176 164

  
177
  private void getLayerRotatable(int[] numLayers)
165
  public boolean[][] getLayerRotatable(int[] numLayers)
178 166
    {
179
    if( mLayerRotatable==null )
180
      {
181
      int numAxis = ROT_AXIS.length;
182
      mLayerRotatable = new boolean[numAxis][];
167
    int numAxis = ROT_AXIS.length;
168
    boolean[][] layerRotatable = new boolean[numAxis][];
183 169

  
184
      for(int i=0; i<numAxis; i++)
185
        {
186
        mLayerRotatable[i] = new boolean[numLayers[i]];
187
        for(int j=0; j<numLayers[i]; j++) mLayerRotatable[i][j] = true;
188
        }
170
    for(int i=0; i<numAxis; i++)
171
      {
172
      layerRotatable[i] = new boolean[numLayers[i]];
173
      for(int j=0; j<numLayers[i]; j++) layerRotatable[i][j] = true;
189 174
      }
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()
189
    {
190
    return TYPE_SPLIT_CORNER;
191
    }
192

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

  
195
  public int[][][] getEnabled()
196
    {
197
    return new int[][][]
198
      {
199
          {{0},{3},{3},{0}},
200
          {{2},{1},{1},{2}},
201
          {{2},{0},{0},{2}},
202
          {{1},{3},{3},{1}},
203
          {{0},{0},{1},{1}},
204
          {{2},{2},{3},{3}},
205
      };
206
    }
207

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

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

  
192 215
///////////////////////////////////////////////////////////////////////////////////////////////////
......
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.ivy2_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