Project

General

Profile

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

magiccube / src / main / java / org / distorted / objects / TwistyBandagedEvil.java @ 8db55f55

1
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2021 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
import android.content.res.Resources;
23

    
24
import org.distorted.helpers.ScrambleStateGraph;
25
import org.distorted.library.main.DistortedEffects;
26
import org.distorted.library.main.DistortedTexture;
27
import org.distorted.library.mesh.MeshSquare;
28
import org.distorted.library.type.Static4D;
29
import org.distorted.main.R;
30

    
31
import java.util.Random;
32

    
33
///////////////////////////////////////////////////////////////////////////////////////////////////
34

    
35
class TwistyBandagedEvil extends TwistyBandagedAbstract
36
{
37
   private int mCurrState;
38
   private int mIndexExcluded;
39

    
40
   // The list of all 'significant' states of the Evil Cube, just like in the 3Plate Cube class.
41
   // This time the list got computed automatically - by the ScrambleStateGraphProducer.computeGraph().
42

    
43
   private final ScrambleStateGraph[] mStates = new ScrambleStateGraph[]
44
     {
45
     new ScrambleStateGraph( new int[][] {{2, 1,  1,2,-1,  2}         , {2, 2,142,2,-1, 28}         , {0, 1,114}          }),   //0
46
     new ScrambleStateGraph( new int[][] {{2, 2,  2}                  , {2,-1,143}                  , {}                  }),
47
     new ScrambleStateGraph( new int[][] {{2, 2,  1}                  , {}                          , {0, 1,  3,0, 2, 47} }),
48
     new ScrambleStateGraph( new int[][] {{2, 1,  4}                  , {2, 1,132,2,-1,131}         , {0, 1, 47,0,-1,  2} }),
49
     new ScrambleStateGraph( new int[][] {{2,-1,  3}                  , {2, 1,  5,2,-1,  6}         , {}                  }),
50
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2,  6,2,-1,  4}         , {0, 1, 51}          }),
51
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1,  4,2, 2,  5}         , {2, 2,  7,2,-1, 80} }),
52
     new ScrambleStateGraph( new int[][] {{2, 2,  8}                  , {}                          , {2, 1, 80,2, 2,  6} }),
53
     new ScrambleStateGraph( new int[][] {{2, 2,  7}                  , {}                          , {0,-1,  9}          }),
54
     new ScrambleStateGraph( new int[][] {{2, 1, 10,2, 2, 11,2,-1, 12}, {}                          , {0, 1,  8}          }),
55
     new ScrambleStateGraph( new int[][] {{2, 1, 11,2, 2, 12,2,-1,  9}, {}                          , {0,-1,118}          }),   //10
56
     new ScrambleStateGraph( new int[][] {{2, 1, 12,2, 2,  9,2,-1, 10}, {}                          , {2, 1, 77}          }),
57
     new ScrambleStateGraph( new int[][] {{2, 1,  9,2, 2, 10,2,-1, 11}, {}                          , {2, 1, 13,2, 2,143} }),
58
     new ScrambleStateGraph( new int[][] {{2, 1, 14,2, 2, 15,2,-1, 16}, {2, 1, 57,2,-1, 58}         , {2, 1,143,2,-1, 12} }),
59
     new ScrambleStateGraph( new int[][] {{2, 1, 15,2, 2, 16,2,-1, 13}, {}                          , {2, 1, 41}          }),
60
     new ScrambleStateGraph( new int[][] {{2, 1, 16,2, 2, 13,2,-1, 14}, {}                          , {0, 1, 82}          }),
61
     new ScrambleStateGraph( new int[][] {{2, 1, 13,2, 2, 14,2,-1, 15}, {2, 1, 17,2,-1, 18}         , {0, 1,111,0,-1,115} }),
62
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2, 18,2,-1, 16}         , {0,-1,139}          }),
63
     new ScrambleStateGraph( new int[][] {{2, 1, 19,2,-1, 20}         , {2, 1, 16,2, 2, 17}         , {2, 1,142}          }),
64
     new ScrambleStateGraph( new int[][] {{2, 2, 20,2,-1, 18}         , {}                          , {2, 1, 39,2, 2,140} }),
65
     new ScrambleStateGraph( new int[][] {{2, 1, 18,2, 2, 19}         , {2, 1, 21}                  , {}                  }),   //20
66
     new ScrambleStateGraph( new int[][] {{}                          , {2,-1, 20}                  , {0,-1, 22}          }),
67
     new ScrambleStateGraph( new int[][] {{2, 2, 23,2,-1, 24}         , {}                          , {0, 1, 21}          }),
68
     new ScrambleStateGraph( new int[][] {{2, 1, 24,2, 2, 22}         , {}                          , {2, 1, 92}          }),
69
     new ScrambleStateGraph( new int[][] {{2, 1, 22,2,-1, 23}         , {}                          , {0, 1, 25}          }),
70
     new ScrambleStateGraph( new int[][] {{2, 1, 26,2, 2, 27}         , {}                          , {0,-1, 24}          }),
71
     new ScrambleStateGraph( new int[][] {{2, 1, 27,2,-1, 25}         , {2, 1, 74}                  , {}                  }),
72
     new ScrambleStateGraph( new int[][] {{2, 2, 25,2,-1, 26}         , {}                          , {2, 1, 28,2, 2,124} }),
73
     new ScrambleStateGraph( new int[][] {{2, 1, 29,2, 2, 30,2,-1, 31}, {2,-1,142}                  , {2, 1,124,2,-1, 27} }),
74
     new ScrambleStateGraph( new int[][] {{2, 1, 30,2, 2, 31,2,-1, 28}, {}                          , {2, 1,141}          }),
75
     new ScrambleStateGraph( new int[][] {{2, 1, 31,2, 2, 28,2,-1, 29}, {}                          , {0, 1,130}          }),   //30
76
     new ScrambleStateGraph( new int[][] {{2, 1, 28,2, 2, 29,2,-1, 30}, {2, 1, 32,2,-1, 33}         , {0, 1, 89,0,-1, 90} }),
77
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2, 33,2,-1, 31}         , {0,-1,137}          }),
78
     new ScrambleStateGraph( new int[][] {{2, 1, 34}                  , {2, 1, 31,2, 2, 32}         , {}                  }),
79
     new ScrambleStateGraph( new int[][] {{2,-1, 33}                  , {}                          , {2, 1, 35}          }),
80
     new ScrambleStateGraph( new int[][] {{}                          , {2,-1, 36}                  , {2,-1, 34}          }),
81
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 35}                  , {2,-1, 37}          }),
82
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 38,2, 2, 93}         , {2, 1, 36}          }),
83
     new ScrambleStateGraph( new int[][] {{2, 1, 39}                  , {2, 1, 93,2,-1, 37}         , {}                  }),
84
     new ScrambleStateGraph( new int[][] {{2,-1, 38}                  , {2, 1, 40,2,-1, 64}         , {2, 1,140,2,-1, 19} }),
85
     new ScrambleStateGraph( new int[][] {{2, 1, 41,2,-1, 42}         , {2, 2, 64,2,-1, 39}         , {}                  }),   //40
86
     new ScrambleStateGraph( new int[][] {{2, 2, 42,2,-1, 40}         , {}                          , {2,-1, 14}          }),
87
     new ScrambleStateGraph( new int[][] {{2, 1, 40,2, 2, 41}         , {}                          , {0, 1, 43,0, 2,128} }),
88
     new ScrambleStateGraph( new int[][] {{2, 1, 44,2,-1, 45}         , {2, 1,114,2, 2,113,2,-1, 86}, {0, 1,128,0,-1, 42} }),
89
     new ScrambleStateGraph( new int[][] {{2, 2, 45,2,-1, 43}         , {2, 1, 48,2,-1,108}         , {2,-1, 81}          }),
90
     new ScrambleStateGraph( new int[][] {{2, 1, 43,2, 2, 44}         , {}                          , {0, 1, 46}          }),
91
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 47}                  , {0,-1, 45}          }),
92
     new ScrambleStateGraph( new int[][] {{}                          , {2,-1, 46}                  , {0, 2,  2,0,-1,  3} }),
93
     new ScrambleStateGraph( new int[][] {{2,-1, 49}                  , {2, 2,108,2,-1, 44}         , {}                  }),
94
     new ScrambleStateGraph( new int[][] {{2, 1, 48}                  , {}                          , {0, 1, 50}          }),
95
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 51,2, 2, 52}         , {0,-1, 49}          }),   //50
96
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 52,2,-1, 50}         , {0,-1,  5}          }),
97
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2, 50,2,-1, 51}         , {2,-1, 53}          }),
98
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 54,2, 2, 55}         , {2, 1, 52}          }),
99
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 55,2,-1, 53}         , {0,-1,104}          }),
100
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2, 53,2,-1, 54}         , {0, 2, 56,0,-1, 65} }),
101
     new ScrambleStateGraph( new int[][] {{2, 1, 57}                  , {}                          , {0, 1, 65,0, 2, 55} }),
102
     new ScrambleStateGraph( new int[][] {{2,-1, 56}                  , {2, 2, 58,2,-1, 13}         , {}                  }),
103
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 13,2, 2, 57}         , {2,-1, 59}          }),
104
     new ScrambleStateGraph( new int[][] {{2, 1, 60}                  , {}                          , {2, 1, 58}          }),
105
     new ScrambleStateGraph( new int[][] {{2,-1, 59}                  , {}                          , {2, 1, 61}          }),   //60
106
     new ScrambleStateGraph( new int[][] {{2,-1, 62}                  , {}                          , {2,-1, 60}          }),
107
     new ScrambleStateGraph( new int[][] {{2, 1, 61}                  , {2,-1, 63}                  , {}                  }),
108
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 62}                  , {2, 1, 64}          }),
109
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 39,2, 2, 40}         , {2,-1, 63}          }),
110
     new ScrambleStateGraph( new int[][] {{2, 1, 66,2,-1, 67}         , {2, 1, 78,2, 2, 79,2,-1, 80}, {0, 1, 55,0,-1, 56} }),
111
     new ScrambleStateGraph( new int[][] {{2, 2, 67,2,-1, 65}         , {2,-1,107}                  , {}                  }),
112
     new ScrambleStateGraph( new int[][] {{2, 1, 65,2, 2, 66}         , {}                          , {0, 1, 68}          }),
113
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 69}                  , {0,-1, 67}          }),
114
     new ScrambleStateGraph( new int[][] {{}                          , {2,-1, 68}                  , {0,-1, 70}          }),
115
     new ScrambleStateGraph( new int[][] {{}                          , {2,-1, 71}                  , {0, 1, 69}          }),   //70
116
     new ScrambleStateGraph( new int[][] {{2,-1, 72}                  , {2, 1, 70}                  , {}                  }),
117
     new ScrambleStateGraph( new int[][] {{2, 1, 71}                  , {}                          , {0,-1, 73}          }),
118
     new ScrambleStateGraph( new int[][] {{2, 1, 74,2, 2, 75}         , {}                          , {0, 1, 72}          }),
119
     new ScrambleStateGraph( new int[][] {{2, 1, 75,2,-1, 73}         , {2,-1, 26}                  , {0, 1, 83,0,-1,138} }),
120
     new ScrambleStateGraph( new int[][] {{2, 2, 73,2,-1, 74}         , {2, 1, 76,2,-1, 77}         , {}                  }),
121
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2, 77,2,-1, 75}         , {0, 1, 78}          }),
122
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 75,2, 2, 76}         , {2,-1, 11}          }),
123
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 79,2, 2, 80,2,-1, 65}, {0,-1, 76}          }),
124
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 80,2, 2, 65,2,-1, 78}, {2,-1,110}          }),
125
     new ScrambleStateGraph( new int[][] {{2, 1, 81,2,-1, 82}         , {2, 1, 65,2, 2, 78,2,-1, 79}, {2, 1,  6,2,-1,  7} }),   //80
126
     new ScrambleStateGraph( new int[][] {{2, 2, 82,2,-1, 80}         , {}                          , {2, 1, 44}          }),
127
     new ScrambleStateGraph( new int[][] {{2, 1, 80,2, 2, 81}         , {2, 1, 83,2,-1, 84}         , {0,-1, 15}          }),
128
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2, 84,2,-1, 82}         , {0, 2,138,0,-1, 74} }),
129
     new ScrambleStateGraph( new int[][] {{2, 1, 85}                  , {2, 1, 82,2, 2, 83}         , {}                  }),
130
     new ScrambleStateGraph( new int[][] {{2,-1, 84}                  , {}                          , {2, 1, 86,2, 2,119} }),
131
     new ScrambleStateGraph( new int[][] {{2, 1, 87,2,-1, 88}         , {2, 1, 43,2, 2,114,2,-1,113}, {2, 1,119,2,-1, 85} }),
132
     new ScrambleStateGraph( new int[][] {{2, 2, 88,2,-1, 86}         , {}                          , {2, 1, 94}          }),
133
     new ScrambleStateGraph( new int[][] {{2, 1, 86,2, 2, 87}         , {2, 1, 89}                  , {}                  }),
134
     new ScrambleStateGraph( new int[][] {{}                          , {2,-1, 88}                  , {0, 2, 90,0,-1, 31} }),
135
     new ScrambleStateGraph( new int[][] {{2, 1, 91,2, 2, 92}         , {}                          , {0, 1, 31,0, 2, 89} }),   //90
136
     new ScrambleStateGraph( new int[][] {{2, 1, 92,2,-1, 90}         , {}                          , {0, 1, 93}          }),
137
     new ScrambleStateGraph( new int[][] {{2, 2, 90,2,-1, 91}         , {}                          , {2,-1, 23}          }),
138
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2, 37,2,-1, 38}         , {0,-1, 91}          }),
139
     new ScrambleStateGraph( new int[][] {{}                          , {2,-1, 95}                  , {2,-1, 87}          }),
140
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 94}                  , {2,-1, 96}          }),
141
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 97}                  , {2, 1, 95}          }),
142
     new ScrambleStateGraph( new int[][] {{2, 1, 98}                  , {2,-1, 96}                  , {}                  }),
143
     new ScrambleStateGraph( new int[][] {{2,-1, 97}                  , {}                          , {2,-1, 99}          }),
144
     new ScrambleStateGraph( new int[][] {{2, 2,100,2,-1,101}         , {}                          , {2, 1, 98}          }),
145
     new ScrambleStateGraph( new int[][] {{2, 1,101,2, 2, 99}         , {2, 1,111,2,-1,112}         , {}                  }),   //100
146
     new ScrambleStateGraph( new int[][] {{2, 1, 99,2,-1,100}         , {2, 1,102}                  , {2, 1,108,2,-1,109} }),
147
     new ScrambleStateGraph( new int[][] {{2, 1,103,2,-1,104}         , {2,-1,101}                  , {}                  }),
148
     new ScrambleStateGraph( new int[][] {{2, 2,104,2,-1,102}         , {}                          , {2,-1,105}          }),
149
     new ScrambleStateGraph( new int[][] {{2, 1,102,2, 2,103}         , {}                          , {0, 1, 54}          }),
150
     new ScrambleStateGraph( new int[][] {{2,-1,106}                  , {}                          , {2, 1,103}          }),
151
     new ScrambleStateGraph( new int[][] {{2, 1,105}                  , {}                          , {2, 1,107}          }),
152
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 66}                  , {2,-1,106}          }),
153
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 44,2, 2, 48}         , {2, 2,109,2,-1,101} }),
154
     new ScrambleStateGraph( new int[][] {{2,-1,110}                  , {}                          , {2, 1,101,2, 2,108} }),
155
     new ScrambleStateGraph( new int[][] {{2, 1,109}                  , {}                          , {2, 1, 79}          }),   //110
156
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2,112,2,-1,100}         , {0, 2,115,0,-1, 16} }),
157
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1,100,2, 2,111}         , {2, 1,113}          }),
158
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 86,2, 2, 43,2,-1,114}, {2,-1,112}          }),
159
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1,113,2, 2, 86,2,-1, 43}, {0,-1,  0}          }),
160
     new ScrambleStateGraph( new int[][] {{2, 2,116}                  , {}                          , {0, 1, 16,0, 2,111} }),
161
     new ScrambleStateGraph( new int[][] {{2, 2,115}                  , {}                          , {2,-1,117}          }),
162
     new ScrambleStateGraph( new int[][] {{2, 1,118}                  , {}                          , {2, 1,116}          }),
163
     new ScrambleStateGraph( new int[][] {{2,-1,117}                  , {}                          , {0, 1, 10}          }),
164
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1,120,2, 2,121,2,-1,122}, {2, 2, 85,2,-1, 86} }),
165
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1,121,2, 2,122,2,-1,119}, {2,-1,129}          }),   //120
166
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1,122,2, 2,119,2,-1,120}, {0, 1,125}          }),
167
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1,119,2, 2,120,2,-1,121}, {0,-1,123}          }),
168
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2,124}                  , {0, 1,122}          }),
169
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2,123}                  , {2, 2, 27,2,-1, 28} }),
170
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1,126}                  , {0,-1,121}          }),
171
     new ScrambleStateGraph( new int[][] {{}                          , {2,-1,125}                  , {2,-1,127}          }),
172
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2,128}                  , {2, 1,126}          }),
173
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2,127}                  , {0, 2, 42,0,-1, 43} }),
174
     new ScrambleStateGraph( new int[][] {{2, 2,130,2,-1,131}         , {}                          , {2, 1,120}          }),
175
     new ScrambleStateGraph( new int[][] {{2, 1,131,2, 2,129}         , {}                          , {0,-1, 30}          }),   //130
176
     new ScrambleStateGraph( new int[][] {{2, 1,129,2,-1,130}         , {2, 1,  3,2, 2,132}         , {}                  }),
177
     new ScrambleStateGraph( new int[][] {{}                          , {2, 2,131,2,-1,  3}         , {0,-1,133}          }),
178
     new ScrambleStateGraph( new int[][] {{}                          , {2,-1,134}                  , {0, 1,132}          }),
179
     new ScrambleStateGraph( new int[][] {{2,-1,135}                  , {2, 1,133}                  , {}                  }),
180
     new ScrambleStateGraph( new int[][] {{2, 1,134}                  , {}                          , {0,-1,136}          }),
181
     new ScrambleStateGraph( new int[][] {{2, 1,137}                  , {}                          , {0, 1,135}          }),
182
     new ScrambleStateGraph( new int[][] {{2,-1,136}                  , {}                          , {0, 1, 32}          }),
183
     new ScrambleStateGraph( new int[][] {{2, 1,139}                  , {}                          , {0, 1, 74,0, 2, 83} }),
184
     new ScrambleStateGraph( new int[][] {{2,-1,138}                  , {}                          , {0, 1, 17}          }),
185
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1,141}                  , {2, 2, 19,2,-1, 39} }),   //140
186
     new ScrambleStateGraph( new int[][] {{}                          , {2,-1,140}                  , {2,-1, 29}          }),
187
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1, 28}                  , {2,-1, 18}          }),
188
     new ScrambleStateGraph( new int[][] {{}                          , {2, 1,  1}                  , {2, 2, 12,2,-1, 13} })
189
     };
190

    
191
///////////////////////////////////////////////////////////////////////////////////////////////////
192

    
193
  private static final float[][] POSITIONS = new float[][]
194
      {
195
        { 1.0f,  1.0f, -1.0f},
196
        {-1.0f, -1.0f,  0.0f, -1.0f,  0.0f,  0.0f, 0.0f, -1.0f,  0.0f,  0.0f,  0.0f,  0.0f},
197
        {-1.0f,  1.0f, -1.0f,  0.0f,  1.0f, -1.0f},
198
        {-1.0f,  0.0f, -1.0f,  0.0f,  0.0f, -1.0f},
199
        {-1.0f, -1.0f, -1.0f,  0.0f, -1.0f, -1.0f},
200
        {-1.0f,  1.0f,  0.0f, -1.0f,  1.0f,  1.0f},
201
        { 0.0f,  1.0f,  0.0f,  0.0f,  1.0f,  1.0f},
202
        { 1.0f,  1.0f,  0.0f,  1.0f,  1.0f,  1.0f},
203
        {-1.0f, -1.0f,  1.0f, -1.0f,  0.0f,  1.0f},
204
        { 0.0f, -1.0f,  1.0f,  0.0f,  0.0f,  1.0f},
205
        { 1.0f, -1.0f,  1.0f,  1.0f,  0.0f,  1.0f},
206
        { 1.0f, -1.0f,  0.0f,  1.0f,  0.0f,  0.0f},
207
        { 1.0f, -1.0f, -1.0f,  1.0f,  0.0f, -1.0f}
208
      };
209

    
210
  private static final int[] QUAT_INDICES = new int[]
211
      { 0, 1, 0, 0, 0, 2, 2, 2, 3, 3, 3, 3, 3 };
212

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

    
215
  TwistyBandagedEvil(int size, Static4D quat, DistortedTexture texture, MeshSquare mesh,
216
                     DistortedEffects effects, int[][] moves, Resources res, int scrWidth)
217
    {
218
    super(size, quat, texture, mesh, effects, moves, ObjectList.BAN4, res, scrWidth);
219
    }
220

    
221
///////////////////////////////////////////////////////////////////////////////////////////////////
222

    
223
  float[][] getPositions()
224
    {
225
    return POSITIONS;
226
    }
227

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

    
230
  int[] getQuatIndices()
231
    {
232
    return QUAT_INDICES;
233
    }
234

    
235
///////////////////////////////////////////////////////////////////////////////////////////////////
236
// PUBLIC API
237

    
238
  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int totalScrambles)
239
    {
240
    if( curr==0 )
241
      {
242
      mCurrState     = 0;
243
      mIndexExcluded =-1;
244
      }
245

    
246
    int total = mStates[mCurrState].getTotal(mIndexExcluded);
247
    int random= rnd.nextInt(total);
248
    int[] info= mStates[mCurrState].getInfo(random,mIndexExcluded);
249

    
250
    scramble[curr][0] = info[0];
251
    scramble[curr][1] = info[1];
252
    scramble[curr][2] = info[2];
253

    
254
    mCurrState     = info[3];
255
    mIndexExcluded = info[0];
256
    }
257

    
258
///////////////////////////////////////////////////////////////////////////////////////////////////
259

    
260
  public int getObjectName(int numLayers)
261
    {
262
    return R.string.bandaged_evil;
263
    }
264

    
265
///////////////////////////////////////////////////////////////////////////////////////////////////
266

    
267
  public int getInventor(int numLayers)
268
    {
269
    return R.string.bandaged_evil_inventor;
270
    }
271

    
272
///////////////////////////////////////////////////////////////////////////////////////////////////
273

    
274
  public int getComplexity(int numLayers)
275
    {
276
    return 8;
277
    }
278
}
(20-20/41)