Project

General

Profile

« Previous | Next » 

Revision 967c1d17

Added by Leszek Koltunski over 2 years ago

Do away with the last method in the object Movement classes. Remove the object Movement classes altogether.
From now on the implementation of a TwistyPuzzle is 100% data, no code at all.
Next step: make the implementation a (generated?) (XML?) file.

View differences:

src/main/java/org/distorted/objects/TwistyMinx.java
19 19

  
20 20
package org.distorted.objects;
21 21

  
22
import static org.distorted.objects.Movement.TYPE_SPLIT_EDGE;
23

  
22 24
import android.content.res.Resources;
23 25

  
24 26
import org.distorted.helpers.ObjectSticker;
......
57 59
           new Static3D( SIN54/LEN,    0     ,   -C2/LEN )
58 60
         };
59 61

  
62
  private static final int[] NUM_ENABLED = {2,2,2,2,2,2,2,2,2,2,2,2};
63

  
64
  private static final int[][][] ENABLED = new int[][][]
65
      {
66
          {{2,3},{3,5},{1,5},{1,4},{2,4}},
67
          {{0,5},{2,5},{2,3},{3,4},{0,4}},
68
          {{2,3},{2,5},{0,5},{0,4},{3,4}},
69
          {{1,5},{3,5},{2,3},{2,4},{1,4}},
70
          {{0,3},{0,4},{4,5},{1,5},{1,3}},
71
          {{1,2},{1,4},{4,5},{0,5},{0,2}},
72
          {{4,5},{1,4},{1,2},{0,2},{0,5}},
73
          {{4,5},{0,4},{0,3},{1,3},{1,5}},
74
          {{0,2},{0,1},{1,3},{3,5},{2,5}},
75
          {{3,4},{2,4},{1,2},{0,1},{0,3}},
76
          {{2,4},{3,4},{0,3},{0,1},{1,2}},
77
          {{1,3},{0,1},{0,2},{2,5},{3,5}},
78
      };
79

  
60 80
  private ScrambleState[] mStates;
61 81
  private int[] mBasicAngle;
62 82
  private int[] mFaceMap;
......
496 516
    if( mQuats==null ) initializeQuats();
497 517
    if( mFaceMap==null ) mFaceMap = new int[] {8,10,3,7,1,11,9,2,4,0,5,6};
498 518
    int status = retCubitSolvedStatus(cubit,numLayers);
499
    return status<0 ? null : buildSolvedQuats(MovementMinx.FACE_AXIS[mFaceMap[status]],mQuats);
519
    return status<0 ? null : buildSolvedQuats(Movement12.FACE_AXIS[mFaceMap[status]],mQuats);
500 520
    }
501 521

  
502 522
///////////////////////////////////////////////////////////////////////////////////////////////////
......
513 533
    if( mCuts==null )
514 534
      {
515 535
      mCuts = new float[6][numLayers-1];
516
      float D = numLayers*MovementMinx.DIST3D;
536
      float D = numLayers*Movement12.DIST3D;
517 537
      float X = 2*D/(2+SIN18);  // height of the 'upper' part of a dodecahedron, i.e. put it on a table,
518 538
                                // its height is then 2D, it has one 'lower' part of height X, one
519 539
                                // 'middle' part of height Y and one upper part of height X again.
......
589 609
      int numLayers = getNumLayers();
590 610
      if( mCuts==null ) getCuts(numLayers);
591 611
      getLayerRotatable(numLayers);
592

  
593
      mMovement = new MovementMinx(mCuts,mLayerRotatable,numLayers);
612
      mMovement = new Movement12(ROT_AXIS,mCuts,mLayerRotatable,numLayers,TYPE_SPLIT_EDGE,NUM_ENABLED,ENABLED);
594 613
      }
595 614
    return mMovement;
596 615
    }

Also available in: Unified diff