Project

General

Profile

Download (7.55 KB) Statistics
| Branch: | Revision:

distorted-objectlib / src / main / java / org / distorted / objectlib / objects / TwistyBandaged3Plate.java @ 5f54927b

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.objectlib.objects;
21

    
22
import java.io.InputStream;
23

    
24
import org.distorted.library.type.Static3D;
25
import org.distorted.library.type.Static4D;
26

    
27
import org.distorted.objectlib.main.ObjectType;
28
import org.distorted.objectlib.scrambling.ScrambleState;
29

    
30
///////////////////////////////////////////////////////////////////////////////////////////////////
31

    
32
public class TwistyBandaged3Plate extends TwistyBandagedAbstract
33
{
34
  public TwistyBandaged3Plate(int[] numL, int meshState, Static4D quat, Static3D move, float scale, InputStream stream)
35
    {
36
    super(numL, meshState, quat, move, scale, stream);
37
    }
38

    
39
///////////////////////////////////////////////////////////////////////////////////////////////////
40

    
41
  public ScrambleState[] getScrambleStates()
42
    {
43
    if( mStates==null )
44
      {
45
      mStates = new ScrambleState[]
46
        {
47
        new ScrambleState( new int[][] { {2,-1,  1,2, 1,  2}         , {0,-1,  7,0, 1,  5}         , {2,-1, 10,2, 1, 11}          } ),
48
        new ScrambleState( new int[][] { {2, 2,  2,2, 1,  0}         , {}                          , {2, 2, 14,2, 1, 12}          } ),
49
        new ScrambleState( new int[][] { {2,-1,  0,2, 2,  1}         , {0, 2,  3,0, 1,  4}         , {}                           } ),
50
        new ScrambleState( new int[][] { {}                          , {0,-1,  4,0, 2,  2}         , {0,-1,  3,0, 2,  3,0, 1,  3} } ),
51
        new ScrambleState( new int[][] { {2,-1,  5,2, 1,  6}         , {0,-1,  2,0, 1,  3}         , {0,-1,  4,0, 2,  4,0, 1,  4} } ),
52
        new ScrambleState( new int[][] { {2, 2,  6,2, 1,  4}         , {0,-1,  0,0, 2,  7}         , {}                           } ),
53
        new ScrambleState( new int[][] { {2,-1,  4,2, 2,  5}         , {}                          , {0,-1,  6,0, 2,  6,0, 1,  6} } ),
54
        new ScrambleState( new int[][] { {}                          , {0, 2,  5,0, 1,  0}         , {2,-1,  8,2, 2, 15}          } ),
55
        new ScrambleState( new int[][] { {0,-1,  8,0, 2,  8,0, 1,  8}, {0,-1,  9,0, 1, 10}         , {2,-1, 15,2, 1,  7}          } ),
56
        new ScrambleState( new int[][] { {0,-1,  9,0, 2,  9,0, 1,  9}, {0, 2, 10,0, 1,  8}         , {}                           } ),
57
        new ScrambleState( new int[][] { {}                          , {0,-1,  8,0, 2,  9}         , {2, 2, 11,2, 1,  0}          } ),
58
        new ScrambleState( new int[][] { {2,-1, 12,2, 2, 13}         , {}                          , {2,-1,  0,2, 2, 10}          } ),
59
        new ScrambleState( new int[][] { {2,-1, 13,2, 1, 11}         , {2,-1, 12,2, 2, 12,2, 1, 12}, {2,-1,  1,2, 1, 14}          } ),
60
        new ScrambleState( new int[][] { {2, 2, 11,2, 1, 12}         , {2,-1, 13,2, 2, 13,2, 1, 13}, {}                           } ),
61
        new ScrambleState( new int[][] { {}                          , {2,-1, 14,2, 2, 14,2, 1, 14}, {2,-1, 12,2, 2,  1}          } ),
62
        new ScrambleState( new int[][] { {0,-1, 15,0, 2, 15,0, 1, 15}, {}                          , {2, 2,  7,2, 1,  8}          } ),
63
        };
64
      }
65

    
66
    return mStates;
67
    }
68

    
69
///////////////////////////////////////////////////////////////////////////////////////////////////
70

    
71
  float[][] getPositions()
72
    {
73
    if( POSITIONS==null )
74
      {
75
      POSITIONS = new float[][]
76
        {
77
          {-1.0f,  1.0f,  1.0f, -1.0f,  0.0f,  1.0f,  0.0f,  1.0f,  1.0f,  0.0f,  0.0f,  1.0f},
78
          { 1.0f,  0.0f, -1.0f,  1.0f,  0.0f,  0.0f,  1.0f,  1.0f, -1.0f,  1.0f,  1.0f,  0.0f},
79
          {-1.0f, -1.0f, -1.0f, -1.0f, -1.0f,  0.0f,  0.0f, -1.0f, -1.0f,  0.0f, -1.0f,  0.0f},
80
          { 1.0f,  1.0f,  1.0f},
81
          { 1.0f,  0.0f,  1.0f},
82
          { 1.0f, -1.0f,  1.0f},
83
          {-1.0f, -1.0f,  1.0f},
84
          { 0.0f, -1.0f,  1.0f},
85
          { 1.0f, -1.0f,  0.0f},
86
          { 1.0f, -1.0f, -1.0f},
87
          {-1.0f,  1.0f, -1.0f},
88
          {-1.0f,  1.0f,  0.0f},
89
          { 0.0f,  1.0f, -1.0f},
90
          { 0.0f,  1.0f,  0.0f},
91
          {-1.0f,  0.0f, -1.0f},
92
          {-1.0f,  0.0f,  0.0f},
93
          { 0.0f,  0.0f, -1.0f}
94
        };
95
      }
96
    return POSITIONS;
97
    }
98

    
99
///////////////////////////////////////////////////////////////////////////////////////////////////
100

    
101
  int[] getQuatIndices()
102
    {
103
    if( QUAT_INDICES==null ) QUAT_INDICES = new int[] { 1,3 };
104
    return QUAT_INDICES;
105
    }
106

    
107
///////////////////////////////////////////////////////////////////////////////////////////////////
108
// PUBLIC API
109

    
110
  public String getShortName()
111
    {
112
    return ObjectType.BAN3_3.name();
113
    }
114

    
115
///////////////////////////////////////////////////////////////////////////////////////////////////
116

    
117
  public long getSignature()
118
    {
119
    return ObjectType.BAN3_3.ordinal();
120
    }
121

    
122
///////////////////////////////////////////////////////////////////////////////////////////////////
123

    
124
  public String getObjectName()
125
    {
126
    return "Bandaged Cube C";
127
    }
128

    
129
///////////////////////////////////////////////////////////////////////////////////////////////////
130

    
131
  public String getInventor()
132
    {
133
    return "Andreas Nortmann";
134
    }
135

    
136
///////////////////////////////////////////////////////////////////////////////////////////////////
137

    
138
  public int getYearOfInvention()
139
    {
140
    return 2005;
141
    }
142

    
143
///////////////////////////////////////////////////////////////////////////////////////////////////
144

    
145
  public int getComplexity()
146
    {
147
    return 2;
148
    }
149

    
150
///////////////////////////////////////////////////////////////////////////////////////////////////
151

    
152
  public String[][] getTutorials()
153
    {
154
    return new String[][]{
155
                          {"gb","7UiCVGygUT4","Bandage Cube C Tutorial","PolyakB"},
156
                          {"ru","gXenRA92Wdc","Как собрать Bandaged 3x3 Type C","YG Cuber"},
157
                          {"pl","sKfdFLm79Zs","Bandaged 3x3 v.C cube","MrUK"},
158
                          {"kr","BcCFgeFy6Ec","밴디지 타입 C 해법","듀나메스 큐브 해법연구소"},
159
                         };
160
    }
161
}
(3-3/33)