Project

General

Profile

Download (7.3 KB) Statistics
| Branch: | Tag: | Revision:

magiccube / src / main / java / org / distorted / objects / MovementMinx.java @ 4946b635

1
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2020 Leszek Koltunski                                                               //
3
//                                                                                               //
4
// This file is part of Magic Cube.                                                              //
5
//                                                                                               //
6
// Magic Cube is free software: you can redistribute it and/or modify                            //
7
// it under the terms of the GNU General Public License as published by                          //
8
// the Free Software Foundation, either version 2 of the License, or                             //
9
// (at your option) any later version.                                                           //
10
//                                                                                               //
11
// Magic Cube is distributed in the hope that it will be useful,                                 //
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
14
// GNU General Public License for more details.                                                  //
15
//                                                                                               //
16
// You should have received a copy of the GNU General Public License                             //
17
// along with Magic Cube.  If not, see <http://www.gnu.org/licenses/>.                           //
18
///////////////////////////////////////////////////////////////////////////////////////////////////
19

    
20
package org.distorted.objects;
21

    
22
///////////////////////////////////////////////////////////////////////////////////////////////////
23

    
24
class MovementMinx extends Movement12
25
{
26
  MovementMinx(float[][] cuts, boolean[][] rotatable, int size)
27
    {
28
    super(TwistyMinx.ROT_AXIS,cuts,rotatable,size);
29
    }
30

    
31
///////////////////////////////////////////////////////////////////////////////////////////////////
32

    
33
  void computeEnabledAxis(int face, float[] touchPoint, int[] enabled)
34
    {
35
    int part = returnPartOfThePentagon(touchPoint,face);
36

    
37
    if( part>0 )
38
      {
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;
167
      }
168
    }
169
}
(13-13/48)