Project

General

Profile

« Previous | Next » 

Revision 74c9af0d

Added by Leszek Koltunski over 2 years ago

Next step on the way to completely do away with object Movement classes.

View differences:

src/main/java/org/distorted/objects/MovementMinx.java
23 23

  
24 24
class MovementMinx extends Movement12
25 25
{
26
  private static final int[] NUM_ENABLED = {2,2,2,2,2,2,2,2,2,2,2,2};
27

  
28
  private static final int[][][] ENABLED = new int[][][]
29
      {
30
          {{2,3},{3,5},{1,5},{1,4},{2,4}},
31
          {{0,5},{2,5},{2,3},{3,4},{0,4}},
32
          {{2,3},{2,5},{0,5},{0,4},{3,4}},
33
          {{1,5},{3,5},{2,3},{2,4},{1,4}},
34
          {{0,3},{0,4},{4,5},{1,5},{1,3}},
35
          {{1,2},{1,4},{4,5},{0,5},{0,2}},
36
          {{4,5},{1,4},{1,2},{0,2},{0,5}},
37
          {{4,5},{0,4},{0,3},{1,3},{1,5}},
38
          {{0,2},{0,1},{1,3},{3,5},{2,5}},
39
          {{3,4},{2,4},{1,2},{0,1},{0,3}},
40
          {{2,4},{3,4},{0,3},{0,1},{1,2}},
41
          {{1,3},{0,1},{0,2},{2,5},{3,5}},
42
      };
43

  
44
///////////////////////////////////////////////////////////////////////////////////////////////////
45

  
26 46
  MovementMinx(float[][] cuts, boolean[][] rotatable, int size)
27 47
    {
28 48
    super(TwistyMinx.ROT_AXIS,cuts,rotatable,size);
......
36 56

  
37 57
    if( part>0 )
38 58
      {
39
      enabled[0] = 2;
40

  
41
      switch(face)
42
        {
43
        case  0:  switch(part)
44
                    {
45
                    case 1: enabled[1]=2; enabled[2]=3; break;
46
                    case 2: enabled[1]=3; enabled[2]=5; break;
47
                    case 3: enabled[1]=5; enabled[2]=1; break;
48
                    case 4: enabled[1]=1; enabled[2]=4; break;
49
                    case 5: enabled[1]=4; enabled[2]=2; break;
50
                    }
51
                  break;
52

  
53
        case  1:  switch(part)
54
                    {
55
                    case 1: enabled[1]=0; enabled[2]=5; break;
56
                    case 2: enabled[1]=5; enabled[2]=2; break;
57
                    case 3: enabled[1]=2; enabled[2]=3; break;
58
                    case 4: enabled[1]=3; enabled[2]=4; break;
59
                    case 5: enabled[1]=4; enabled[2]=0; break;
60
                    }
61
                  break;
62

  
63
        case  2:  switch(part)
64
                    {
65
                    case 1: enabled[1]=3; enabled[2]=2; break;
66
                    case 2: enabled[1]=2; enabled[2]=5; break;
67
                    case 3: enabled[1]=5; enabled[2]=0; break;
68
                    case 4: enabled[1]=0; enabled[2]=4; break;
69
                    case 5: enabled[1]=4; enabled[2]=3; break;
70
                    }
71
                  break;
72

  
73
        case  3:  switch(part)
74
                    {
75
                    case 1: enabled[1]=1; enabled[2]=5; break;
76
                    case 2: enabled[1]=5; enabled[2]=3; break;
77
                    case 3: enabled[1]=3; enabled[2]=2; break;
78
                    case 4: enabled[1]=2; enabled[2]=4; break;
79
                    case 5: enabled[1]=4; enabled[2]=1; break;
80
                    }
81
                  break;
82

  
83
        case  4:  switch(part)
84
                    {
85
                    case 1: enabled[1]=3; enabled[2]=0; break;
86
                    case 2: enabled[1]=0; enabled[2]=4; break;
87
                    case 3: enabled[1]=4; enabled[2]=5; break;
88
                    case 4: enabled[1]=5; enabled[2]=1; break;
89
                    case 5: enabled[1]=1; enabled[2]=3; break;
90
                    }
91
                  break;
92

  
93
        case  5:  switch(part)
94
                    {
95
                    case 1: enabled[1]=2; enabled[2]=1; break;
96
                    case 2: enabled[1]=1; enabled[2]=4; break;
97
                    case 3: enabled[1]=4; enabled[2]=5; break;
98
                    case 4: enabled[1]=5; enabled[2]=0; break;
99
                    case 5: enabled[1]=0; enabled[2]=2; break;
100
                    }
101
                  break;
102

  
103
        case  6:  switch(part)
104
                    {
105
                    case 1: enabled[1]=5; enabled[2]=4; break;
106
                    case 2: enabled[1]=4; enabled[2]=1; break;
107
                    case 3: enabled[1]=1; enabled[2]=2; break;
108
                    case 4: enabled[1]=2; enabled[2]=0; break;
109
                    case 5: enabled[1]=0; enabled[2]=5; break;
110
                    }
111
                  break;
112

  
113
        case  7:  switch(part)
114
                    {
115
                    case 1: enabled[1]=5; enabled[2]=4; break;
116
                    case 2: enabled[1]=4; enabled[2]=0; break;
117
                    case 3: enabled[1]=0; enabled[2]=3; break;
118
                    case 4: enabled[1]=3; enabled[2]=1; break;
119
                    case 5: enabled[1]=1; enabled[2]=5; break;
120
                    }
121
                  break;
122

  
123
        case  8: switch(part)
124
                    {
125
                    case 1: enabled[1]=2; enabled[2]=0; break;
126
                    case 2: enabled[1]=0; enabled[2]=1; break;
127
                    case 3: enabled[1]=1; enabled[2]=3; break;
128
                    case 4: enabled[1]=3; enabled[2]=5; break;
129
                    case 5: enabled[1]=5; enabled[2]=2; break;
130
                    }
131
                  break;
132

  
133
        case  9:  switch(part)
134
                    {
135
                    case 1: enabled[1]=3; enabled[2]=4; break;
136
                    case 2: enabled[1]=4; enabled[2]=2; break;
137
                    case 3: enabled[1]=2; enabled[2]=1; break;
138
                    case 4: enabled[1]=1; enabled[2]=0; break;
139
                    case 5: enabled[1]=0; enabled[2]=3; break;
140
                    }
141
                  break;
142

  
143
        case 10:  switch(part)
144
                    {
145
                    case 1: enabled[1]=2; enabled[2]=4; break;
146
                    case 2: enabled[1]=4; enabled[2]=3; break;
147
                    case 3: enabled[1]=3; enabled[2]=0; break;
148
                    case 4: enabled[1]=0; enabled[2]=1; break;
149
                    case 5: enabled[1]=1; enabled[2]=2; break;
150
                    }
151
                  break;
152

  
153
        case 11:  switch(part)
154
                    {
155
                    case 1: enabled[1]=3; enabled[2]=1; break;
156
                    case 2: enabled[1]=1; enabled[2]=0; break;
157
                    case 3: enabled[1]=0; enabled[2]=2; break;
158
                    case 4: enabled[1]=2; enabled[2]=5; break;
159
                    case 5: enabled[1]=5; enabled[2]=3; break;
160
                    }
161
                  break;
162
        }
163
      }
164
    else
165
      {
166
      enabled[0] = 0;
59
      int num = NUM_ENABLED[face];
60
      enabled[0] = num;
61
      System.arraycopy(ENABLED[face][part-1], 0, enabled, 1, num);
167 62
      }
63
    else enabled[0] = 0;
168 64
    }
169 65
}

Also available in: Unified diff