Revision 8db55f55
Added by Leszek Koltunski over 4 years ago
| src/main/java/org/distorted/objects/TwistyBandagedEvil.java | ||
|---|---|---|
| 21 | 21 |
|
| 22 | 22 |
import android.content.res.Resources; |
| 23 | 23 |
|
| 24 |
import org.distorted.helpers.BandagedState;
|
|
| 24 |
import org.distorted.helpers.ScrambleStateGraph;
|
|
| 25 | 25 |
import org.distorted.library.main.DistortedEffects; |
| 26 | 26 |
import org.distorted.library.main.DistortedTexture; |
| 27 | 27 |
import org.distorted.library.mesh.MeshSquare; |
| ... | ... | |
| 35 | 35 |
class TwistyBandagedEvil extends TwistyBandagedAbstract |
| 36 | 36 |
{
|
| 37 | 37 |
private int mCurrState; |
| 38 |
private boolean mUseX; |
|
| 39 |
private boolean mUseY; |
|
| 40 |
private boolean mUseZ; |
|
| 38 |
private int mIndexExcluded; |
|
| 41 | 39 |
|
| 42 | 40 |
// The list of all 'significant' states of the Evil Cube, just like in the 3Plate Cube class. |
| 43 |
// This time the list got computed automatically - by the BandagedStateGraph.computeGraph().
|
|
| 41 |
// This time the list got computed automatically - by the ScrambleStateGraphProducer.computeGraph().
|
|
| 44 | 42 |
|
| 45 |
private final BandagedState[] mStates = new BandagedState[]
|
|
| 43 |
private final ScrambleStateGraph[] mStates = new ScrambleStateGraph[]
|
|
| 46 | 44 |
{
|
| 47 |
new BandagedState( new int[] {2, 1, 1,2,-1, 2} , new int[] {2, 2,142,2,-1, 28} , new int[] {0, 1,114} ),
|
|
| 48 |
new BandagedState( new int[] {2, 2, 2} , new int[] {2,-1,143} , null ),
|
|
| 49 |
new BandagedState( new int[] {2, 2, 1} , null , new int[] {0, 1, 3,0, 2, 47} ),
|
|
| 50 |
new BandagedState( new int[] {2, 1, 4} , new int[] {2, 1,132,2,-1,131} , new int[] {0, 1, 47,0,-1, 2} ),
|
|
| 51 |
new BandagedState( new int[] {2,-1, 3} , new int[] {2, 1, 5,2,-1, 6} , null ),
|
|
| 52 |
new BandagedState( null , new int[] {2, 2, 6,2,-1, 4} , new int[] {0, 1, 51} ),
|
|
| 53 |
new BandagedState( null , new int[] {2, 1, 4,2, 2, 5} , new int[] {2, 2, 7,2,-1, 80} ),
|
|
| 54 |
new BandagedState( new int[] {2, 2, 8} , null , new int[] {2, 1, 80,2, 2, 6} ),
|
|
| 55 |
new BandagedState( new int[] {2, 2, 7} , null , new int[] {0,-1, 9} ),
|
|
| 56 |
new BandagedState( new int[] {2, 1, 10,2, 2, 11,2,-1, 12}, null , new int[] {0, 1, 8} ),
|
|
| 57 |
new BandagedState( new int[] {2, 1, 11,2, 2, 12,2,-1, 9}, null , new int[] {0,-1,118} ),
|
|
| 58 |
new BandagedState( new int[] {2, 1, 12,2, 2, 9,2,-1, 10}, null , new int[] {2, 1, 77} ),
|
|
| 59 |
new BandagedState( new int[] {2, 1, 9,2, 2, 10,2,-1, 11}, null , new int[] {2, 1, 13,2, 2,143} ),
|
|
| 60 |
new BandagedState( new int[] {2, 1, 14,2, 2, 15,2,-1, 16}, new int[] {2, 1, 57,2,-1, 58} , new int[] {2, 1,143,2,-1, 12} ),
|
|
| 61 |
new BandagedState( new int[] {2, 1, 15,2, 2, 16,2,-1, 13}, null , new int[] {2, 1, 41} ),
|
|
| 62 |
new BandagedState( new int[] {2, 1, 16,2, 2, 13,2,-1, 14}, null , new int[] {0, 1, 82} ),
|
|
| 63 |
new BandagedState( new int[] {2, 1, 13,2, 2, 14,2,-1, 15}, new int[] {2, 1, 17,2,-1, 18} , new int[] {0, 1,111,0,-1,115} ),
|
|
| 64 |
new BandagedState( null , new int[] {2, 2, 18,2,-1, 16} , new int[] {0,-1,139} ),
|
|
| 65 |
new BandagedState( new int[] {2, 1, 19,2,-1, 20} , new int[] {2, 1, 16,2, 2, 17} , new int[] {2, 1,142} ),
|
|
| 66 |
new BandagedState( new int[] {2, 2, 20,2,-1, 18} , null , new int[] {2, 1, 39,2, 2,140} ),
|
|
| 67 |
new BandagedState( new int[] {2, 1, 18,2, 2, 19} , new int[] {2, 1, 21} , null ),
|
|
| 68 |
new BandagedState( null , new int[] {2,-1, 20} , new int[] {0,-1, 22} ),
|
|
| 69 |
new BandagedState( new int[] {2, 2, 23,2,-1, 24} , null , new int[] {0, 1, 21} ),
|
|
| 70 |
new BandagedState( new int[] {2, 1, 24,2, 2, 22} , null , new int[] {2, 1, 92} ),
|
|
| 71 |
new BandagedState( new int[] {2, 1, 22,2,-1, 23} , null , new int[] {0, 1, 25} ),
|
|
| 72 |
new BandagedState( new int[] {2, 1, 26,2, 2, 27} , null , new int[] {0,-1, 24} ),
|
|
| 73 |
new BandagedState( new int[] {2, 1, 27,2,-1, 25} , new int[] {2, 1, 74} , null ),
|
|
| 74 |
new BandagedState( new int[] {2, 2, 25,2,-1, 26} , null , new int[] {2, 1, 28,2, 2,124} ),
|
|
| 75 |
new BandagedState( new int[] {2, 1, 29,2, 2, 30,2,-1, 31}, new int[] {2,-1,142} , new int[] {2, 1,124,2,-1, 27} ),
|
|
| 76 |
new BandagedState( new int[] {2, 1, 30,2, 2, 31,2,-1, 28}, null , new int[] {2, 1,141} ),
|
|
| 77 |
new BandagedState( new int[] {2, 1, 31,2, 2, 28,2,-1, 29}, null , new int[] {0, 1,130} ),
|
|
| 78 |
new BandagedState( new int[] {2, 1, 28,2, 2, 29,2,-1, 30}, new int[] {2, 1, 32,2,-1, 33} , new int[] {0, 1, 89,0,-1, 90} ),
|
|
| 79 |
new BandagedState( null , new int[] {2, 2, 33,2,-1, 31} , new int[] {0,-1,137} ),
|
|
| 80 |
new BandagedState( new int[] {2, 1, 34} , new int[] {2, 1, 31,2, 2, 32} , null ),
|
|
| 81 |
new BandagedState( new int[] {2,-1, 33} , null , new int[] {2, 1, 35} ),
|
|
| 82 |
new BandagedState( null , new int[] {2,-1, 36} , new int[] {2,-1, 34} ),
|
|
| 83 |
new BandagedState( null , new int[] {2, 1, 35} , new int[] {2,-1, 37} ),
|
|
| 84 |
new BandagedState( null , new int[] {2, 1, 38,2, 2, 93} , new int[] {2, 1, 36} ),
|
|
| 85 |
new BandagedState( new int[] {2, 1, 39} , new int[] {2, 1, 93,2,-1, 37} , null ),
|
|
| 86 |
new BandagedState( new int[] {2,-1, 38} , new int[] {2, 1, 40,2,-1, 64} , new int[] {2, 1,140,2,-1, 19} ),
|
|
| 87 |
new BandagedState( new int[] {2, 1, 41,2,-1, 42} , new int[] {2, 2, 64,2,-1, 39} , null ),
|
|
| 88 |
new BandagedState( new int[] {2, 2, 42,2,-1, 40} , null , new int[] {2,-1, 14} ),
|
|
| 89 |
new BandagedState( new int[] {2, 1, 40,2, 2, 41} , null , new int[] {0, 1, 43,0, 2,128} ),
|
|
| 90 |
new BandagedState( new int[] {2, 1, 44,2,-1, 45} , new int[] {2, 1,114,2, 2,113,2,-1, 86}, new int[] {0, 1,128,0,-1, 42} ),
|
|
| 91 |
new BandagedState( new int[] {2, 2, 45,2,-1, 43} , new int[] {2, 1, 48,2,-1,108} , new int[] {2,-1, 81} ),
|
|
| 92 |
new BandagedState( new int[] {2, 1, 43,2, 2, 44} , null , new int[] {0, 1, 46} ),
|
|
| 93 |
new BandagedState( null , new int[] {2, 1, 47} , new int[] {0,-1, 45} ),
|
|
| 94 |
new BandagedState( null , new int[] {2,-1, 46} , new int[] {0, 2, 2,0,-1, 3} ),
|
|
| 95 |
new BandagedState( new int[] {2,-1, 49} , new int[] {2, 2,108,2,-1, 44} , null ),
|
|
| 96 |
new BandagedState( new int[] {2, 1, 48} , null , new int[] {0, 1, 50} ),
|
|
| 97 |
new BandagedState( null , new int[] {2, 1, 51,2, 2, 52} , new int[] {0,-1, 49} ),
|
|
| 98 |
new BandagedState( null , new int[] {2, 1, 52,2,-1, 50} , new int[] {0,-1, 5} ),
|
|
| 99 |
new BandagedState( null , new int[] {2, 2, 50,2,-1, 51} , new int[] {2,-1, 53} ),
|
|
| 100 |
new BandagedState( null , new int[] {2, 1, 54,2, 2, 55} , new int[] {2, 1, 52} ),
|
|
| 101 |
new BandagedState( null , new int[] {2, 1, 55,2,-1, 53} , new int[] {0,-1,104} ),
|
|
| 102 |
new BandagedState( null , new int[] {2, 2, 53,2,-1, 54} , new int[] {0, 2, 56,0,-1, 65} ),
|
|
| 103 |
new BandagedState( new int[] {2, 1, 57} , null , new int[] {0, 1, 65,0, 2, 55} ),
|
|
| 104 |
new BandagedState( new int[] {2,-1, 56} , new int[] {2, 2, 58,2,-1, 13} , null ),
|
|
| 105 |
new BandagedState( null , new int[] {2, 1, 13,2, 2, 57} , new int[] {2,-1, 59} ),
|
|
| 106 |
new BandagedState( new int[] {2, 1, 60} , null , new int[] {2, 1, 58} ),
|
|
| 107 |
new BandagedState( new int[] {2,-1, 59} , null , new int[] {2, 1, 61} ),
|
|
| 108 |
new BandagedState( new int[] {2,-1, 62} , null , new int[] {2,-1, 60} ),
|
|
| 109 |
new BandagedState( new int[] {2, 1, 61} , new int[] {2,-1, 63} , null ),
|
|
| 110 |
new BandagedState( null , new int[] {2, 1, 62} , new int[] {2, 1, 64} ),
|
|
| 111 |
new BandagedState( null , new int[] {2, 1, 39,2, 2, 40} , new int[] {2,-1, 63} ),
|
|
| 112 |
new BandagedState( new int[] {2, 1, 66,2,-1, 67} , new int[] {2, 1, 78,2, 2, 79,2,-1, 80}, new int[] {0, 1, 55,0,-1, 56} ),
|
|
| 113 |
new BandagedState( new int[] {2, 2, 67,2,-1, 65} , new int[] {2,-1,107} , null ),
|
|
| 114 |
new BandagedState( new int[] {2, 1, 65,2, 2, 66} , null , new int[] {0, 1, 68} ),
|
|
| 115 |
new BandagedState( null , new int[] {2, 1, 69} , new int[] {0,-1, 67} ),
|
|
| 116 |
new BandagedState( null , new int[] {2,-1, 68} , new int[] {0,-1, 70} ),
|
|
| 117 |
new BandagedState( null , new int[] {2,-1, 71} , new int[] {0, 1, 69} ),
|
|
| 118 |
new BandagedState( new int[] {2,-1, 72} , new int[] {2, 1, 70} , null ),
|
|
| 119 |
new BandagedState( new int[] {2, 1, 71} , null , new int[] {0,-1, 73} ),
|
|
| 120 |
new BandagedState( new int[] {2, 1, 74,2, 2, 75} , null , new int[] {0, 1, 72} ),
|
|
| 121 |
new BandagedState( new int[] {2, 1, 75,2,-1, 73} , new int[] {2,-1, 26} , new int[] {0, 1, 83,0,-1,138} ),
|
|
| 122 |
new BandagedState( new int[] {2, 2, 73,2,-1, 74} , new int[] {2, 1, 76,2,-1, 77} , null ),
|
|
| 123 |
new BandagedState( null , new int[] {2, 2, 77,2,-1, 75} , new int[] {0, 1, 78} ),
|
|
| 124 |
new BandagedState( null , new int[] {2, 1, 75,2, 2, 76} , new int[] {2,-1, 11} ),
|
|
| 125 |
new BandagedState( null , new int[] {2, 1, 79,2, 2, 80,2,-1, 65}, new int[] {0,-1, 76} ),
|
|
| 126 |
new BandagedState( null , new int[] {2, 1, 80,2, 2, 65,2,-1, 78}, new int[] {2,-1,110} ),
|
|
| 127 |
new BandagedState( new int[] {2, 1, 81,2,-1, 82} , new int[] {2, 1, 65,2, 2, 78,2,-1, 79}, new int[] {2, 1, 6,2,-1, 7} ),
|
|
| 128 |
new BandagedState( new int[] {2, 2, 82,2,-1, 80} , null , new int[] {2, 1, 44} ),
|
|
| 129 |
new BandagedState( new int[] {2, 1, 80,2, 2, 81} , new int[] {2, 1, 83,2,-1, 84} , new int[] {0,-1, 15} ),
|
|
| 130 |
new BandagedState( null , new int[] {2, 2, 84,2,-1, 82} , new int[] {0, 2,138,0,-1, 74} ),
|
|
| 131 |
new BandagedState( new int[] {2, 1, 85} , new int[] {2, 1, 82,2, 2, 83} , null ),
|
|
| 132 |
new BandagedState( new int[] {2,-1, 84} , null , new int[] {2, 1, 86,2, 2,119} ),
|
|
| 133 |
new BandagedState( new int[] {2, 1, 87,2,-1, 88} , new int[] {2, 1, 43,2, 2,114,2,-1,113}, new int[] {2, 1,119,2,-1, 85} ),
|
|
| 134 |
new BandagedState( new int[] {2, 2, 88,2,-1, 86} , null , new int[] {2, 1, 94} ),
|
|
| 135 |
new BandagedState( new int[] {2, 1, 86,2, 2, 87} , new int[] {2, 1, 89} , null ),
|
|
| 136 |
new BandagedState( null , new int[] {2,-1, 88} , new int[] {0, 2, 90,0,-1, 31} ),
|
|
| 137 |
new BandagedState( new int[] {2, 1, 91,2, 2, 92} , null , new int[] {0, 1, 31,0, 2, 89} ),
|
|
| 138 |
new BandagedState( new int[] {2, 1, 92,2,-1, 90} , null , new int[] {0, 1, 93} ),
|
|
| 139 |
new BandagedState( new int[] {2, 2, 90,2,-1, 91} , null , new int[] {2,-1, 23} ),
|
|
| 140 |
new BandagedState( null , new int[] {2, 2, 37,2,-1, 38} , new int[] {0,-1, 91} ),
|
|
| 141 |
new BandagedState( null , new int[] {2,-1, 95} , new int[] {2,-1, 87} ),
|
|
| 142 |
new BandagedState( null , new int[] {2, 1, 94} , new int[] {2,-1, 96} ),
|
|
| 143 |
new BandagedState( null , new int[] {2, 1, 97} , new int[] {2, 1, 95} ),
|
|
| 144 |
new BandagedState( new int[] {2, 1, 98} , new int[] {2,-1, 96} , null ),
|
|
| 145 |
new BandagedState( new int[] {2,-1, 97} , null , new int[] {2,-1, 99} ),
|
|
| 146 |
new BandagedState( new int[] {2, 2,100,2,-1,101} , null , new int[] {2, 1, 98} ),
|
|
| 147 |
new BandagedState( new int[] {2, 1,101,2, 2, 99} , new int[] {2, 1,111,2,-1,112} , null ),
|
|
| 148 |
new BandagedState( new int[] {2, 1, 99,2,-1,100} , new int[] {2, 1,102} , new int[] {2, 1,108,2,-1,109} ),
|
|
| 149 |
new BandagedState( new int[] {2, 1,103,2,-1,104} , new int[] {2,-1,101} , null ),
|
|
| 150 |
new BandagedState( new int[] {2, 2,104,2,-1,102} , null , new int[] {2,-1,105} ),
|
|
| 151 |
new BandagedState( new int[] {2, 1,102,2, 2,103} , null , new int[] {0, 1, 54} ),
|
|
| 152 |
new BandagedState( new int[] {2,-1,106} , null , new int[] {2, 1,103} ),
|
|
| 153 |
new BandagedState( new int[] {2, 1,105} , null , new int[] {2, 1,107} ),
|
|
| 154 |
new BandagedState( null , new int[] {2, 1, 66} , new int[] {2,-1,106} ),
|
|
| 155 |
new BandagedState( null , new int[] {2, 1, 44,2, 2, 48} , new int[] {2, 2,109,2,-1,101} ),
|
|
| 156 |
new BandagedState( new int[] {2,-1,110} , null , new int[] {2, 1,101,2, 2,108} ),
|
|
| 157 |
new BandagedState( new int[] {2, 1,109} , null , new int[] {2, 1, 79} ),
|
|
| 158 |
new BandagedState( null , new int[] {2, 2,112,2,-1,100} , new int[] {0, 2,115,0,-1, 16} ),
|
|
| 159 |
new BandagedState( null , new int[] {2, 1,100,2, 2,111} , new int[] {2, 1,113} ),
|
|
| 160 |
new BandagedState( null , new int[] {2, 1, 86,2, 2, 43,2,-1,114}, new int[] {2,-1,112} ),
|
|
| 161 |
new BandagedState( null , new int[] {2, 1,113,2, 2, 86,2,-1, 43}, null ),
|
|
| 162 |
new BandagedState( new int[] {2, 2,116} , null , new int[] {0, 1, 16,0, 2,111} ),
|
|
| 163 |
new BandagedState( new int[] {2, 2,115} , null , new int[] {2,-1,117} ),
|
|
| 164 |
new BandagedState( new int[] {2, 1,118} , null , new int[] {2, 1,116} ),
|
|
| 165 |
new BandagedState( new int[] {2,-1,117} , null , new int[] {0, 1, 10} ),
|
|
| 166 |
new BandagedState( null , new int[] {2, 1,120,2, 2,121,2,-1,122}, new int[] {2, 2, 85,2,-1, 86} ),
|
|
| 167 |
new BandagedState( null , new int[] {2, 1,121,2, 2,122,2,-1,119}, new int[] {2,-1,129} ),
|
|
| 168 |
new BandagedState( null , new int[] {2, 1,122,2, 2,119,2,-1,120}, new int[] {0, 1,125} ),
|
|
| 169 |
new BandagedState( null , new int[] {2, 1,119,2, 2,120,2,-1,121}, new int[] {0,-1,123} ),
|
|
| 170 |
new BandagedState( null , new int[] {2, 2,124} , new int[] {0, 1,122} ),
|
|
| 171 |
new BandagedState( null , new int[] {2, 2,123} , new int[] {2, 2, 27,2,-1, 28} ),
|
|
| 172 |
new BandagedState( null , new int[] {2, 1,126} , new int[] {0,-1,121} ),
|
|
| 173 |
new BandagedState( null , new int[] {2,-1,125} , new int[] {2,-1,127} ),
|
|
| 174 |
new BandagedState( null , new int[] {2, 2,128} , new int[] {2, 1,126} ),
|
|
| 175 |
new BandagedState( null , new int[] {2, 2,127} , new int[] {0, 2, 42,0,-1, 43} ),
|
|
| 176 |
new BandagedState( new int[] {2, 2,130,2,-1,131} , null , new int[] {2, 1,120} ),
|
|
| 177 |
new BandagedState( new int[] {2, 1,131,2, 2,129} , null , new int[] {0,-1, 30} ),
|
|
| 178 |
new BandagedState( new int[] {2, 1,129,2,-1,130} , new int[] {2, 1, 3,2, 2,132} , null ),
|
|
| 179 |
new BandagedState( null , new int[] {2, 2,131,2,-1, 3} , new int[] {0,-1,133} ),
|
|
| 180 |
new BandagedState( null , new int[] {2,-1,134} , new int[] {0, 1,132} ),
|
|
| 181 |
new BandagedState( new int[] {2,-1,135} , new int[] {2, 1,133} , null ),
|
|
| 182 |
new BandagedState( new int[] {2, 1,134} , null , new int[] {0,-1,136} ),
|
|
| 183 |
new BandagedState( new int[] {2, 1,137} , null , new int[] {0, 1,135} ),
|
|
| 184 |
new BandagedState( new int[] {2,-1,136} , null , new int[] {0, 1, 32} ),
|
|
| 185 |
new BandagedState( new int[] {2, 1,139} , null , new int[] {0, 1, 74,0, 2, 83} ),
|
|
| 186 |
new BandagedState( new int[] {2,-1,138} , null , new int[] {0, 1, 17} ),
|
|
| 187 |
new BandagedState( null , new int[] {2, 1,141} , new int[] {2, 2, 19,2,-1, 39} ),
|
|
| 188 |
new BandagedState( null , new int[] {2,-1,140} , new int[] {2,-1, 29} ),
|
|
| 189 |
new BandagedState( null , new int[] {2, 1, 28} , new int[] {2,-1, 18} ),
|
|
| 190 |
new BandagedState( null , new int[] {2, 1, 1} , new int[] {2, 2, 12,2,-1, 13} )
|
|
| 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} })
|
|
| 191 | 189 |
}; |
| 192 | 190 |
|
| 193 | 191 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| ... | ... | |
| 241 | 239 |
{
|
| 242 | 240 |
if( curr==0 ) |
| 243 | 241 |
{
|
| 244 |
mCurrState = 0; |
|
| 245 |
mUseX = true; |
|
| 246 |
mUseY = true; |
|
| 247 |
mUseZ = true; |
|
| 242 |
mCurrState = 0; |
|
| 243 |
mIndexExcluded =-1; |
|
| 248 | 244 |
} |
| 249 | 245 |
|
| 250 |
int total = mStates[mCurrState].getTotal(mUseX,mUseY,mUseZ);
|
|
| 246 |
int total = mStates[mCurrState].getTotal(mIndexExcluded);
|
|
| 251 | 247 |
int random= rnd.nextInt(total); |
| 252 |
int[] info= mStates[mCurrState].getInfo(random,mUseX,mUseY,mUseZ);
|
|
| 248 |
int[] info= mStates[mCurrState].getInfo(random,mIndexExcluded);
|
|
| 253 | 249 |
|
| 254 | 250 |
scramble[curr][0] = info[0]; |
| 255 | 251 |
scramble[curr][1] = info[1]; |
| 256 | 252 |
scramble[curr][2] = info[2]; |
| 257 | 253 |
|
| 258 |
mCurrState = info[3]; |
|
| 259 |
|
|
| 260 |
switch(info[0]) |
|
| 261 |
{
|
|
| 262 |
case 0: mUseX = false; mUseY = true ; mUseZ = true ; break; |
|
| 263 |
case 1: mUseX = true ; mUseY = false; mUseZ = true ; break; |
|
| 264 |
case 2: mUseX = true ; mUseY = true ; mUseZ = false; break; |
|
| 265 |
} |
|
| 254 |
mCurrState = info[3]; |
|
| 255 |
mIndexExcluded = info[0]; |
|
| 266 | 256 |
} |
| 267 | 257 |
|
| 268 | 258 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
Preparation for unification of scrambling. Scrambling of all objects will be done by a generic funtion, only fed a certain data structure by the objects. The data structure is going to be the ScrambleStateGraph - a directed state graph of all states we can come across while scrambling.
Make the ScrambleStateGraph support any number of axis, not only 3 as it did up till now. Also, correct one problem in BangadageCubeEvil's StageGraph: its state number 114 was incorrect, missing one move.