Revision 6aed3662
Added by Leszek Koltunski 12 months ago
| src/main/java/org/distorted/phasedsolver/SolverActivity.java | ||
|---|---|---|
| 41 | 41 |
private SolvedObject mObject; |
| 42 | 42 |
private int[][] mMoveTable; |
| 43 | 43 |
private String mMoves; |
| 44 |
private int mNumMoves; |
|
| 44 | 45 |
|
| 45 | 46 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 46 | 47 |
|
| ... | ... | |
| 57 | 58 |
mLowerPane = new SolverLowerPane(this); |
| 58 | 59 |
mText = findViewById(R.id.solverMoves); |
| 59 | 60 |
mMoves = ""; |
| 61 |
mNumMoves = 0; |
|
| 60 | 62 |
} |
| 61 | 63 |
|
| 62 | 64 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| ... | ... | |
| 161 | 163 |
{
|
| 162 | 164 |
int mi = s[m]; |
| 163 | 165 |
moves[index++] = mMoveTable[mi]; |
| 164 |
android.util.Log.e("D","move "+m+" : "+mMoveTable[mi][0]+" "+mMoveTable[mi][1]+" "+mMoveTable[mi][2]);
|
|
| 166 |
// android.util.Log.e("D","move "+m+" : "+mMoveTable[mi][0]+" "+mMoveTable[mi][1]+" "+mMoveTable[mi][2]);
|
|
| 165 | 167 |
} |
| 166 | 168 |
} |
| 167 | 169 |
|
| ... | ... | |
| 226 | 228 |
String llCornersOrie = llco+" "+llco+" "+llco+" "+llco; |
| 227 | 229 |
String llCorners = llCornersPerm+" "+llCornersOrie; |
| 228 | 230 |
|
| 229 |
int[][] algsOrie = { {11,17,5,15,3,9},{3} };
|
|
| 230 |
int[][] algsPerm = { {5,6,3,9,5,8,3,11},{3} };
|
|
| 231 |
int[][] algsEdgeOrie = { {11,17,5,15,3,9},{3} };
|
|
| 232 |
int[][] algsEdgePerm = { {6,5,8,5,6,4,8},{3} };
|
|
| 233 |
int[][] algsCornPerm = { {5,6,3,9,5,8,3,11},{3} };
|
|
| 234 |
int[][] algsCornOrie = { {15,2,17,0,15,2,17,0},{3} };
|
|
| 231 | 235 |
|
| 232 | 236 |
int[][] moveTable = mObject.getMoveTable(); |
| 233 | 237 |
MoveProviderAll all = new MoveProviderAll(moveTable); |
| 234 |
MoveProviderAlgs alO = new MoveProviderAlgs(algsOrie); |
|
| 235 |
MoveProviderAlgs alP = new MoveProviderAlgs(algsPerm); |
|
| 238 |
MoveProviderAlgs aeO = new MoveProviderAlgs(algsEdgeOrie); |
|
| 239 |
MoveProviderAlgs aeP = new MoveProviderAlgs(algsEdgePerm); |
|
| 240 |
MoveProviderAlgs acP = new MoveProviderAlgs(algsCornPerm); |
|
| 241 |
MoveProviderAlgs acO = new MoveProviderAlgs(algsCornOrie); |
|
| 236 | 242 |
|
| 237 | 243 |
TargetProvider wcr = new TargetProviderAll(whiteCross); |
| 238 | 244 |
TargetProvider wco = new TargetProviderAll(whiteCorners); |
| 239 | 245 |
TargetProvider sla = new TargetProviderAll(secondLayer); |
| 240 | 246 |
TargetProvider oll = new TargetProviderOrie(mObject,14,1); |
| 241 | 247 |
TargetProvider pll = new TargetProviderPerm(mObject,14,1); |
| 248 |
TargetProvider pcl = new TargetProviderPerm(mObject, 4,1); |
|
| 249 |
TargetProvider ocl = new TargetProviderOrie(mObject, 4,1); |
|
| 242 | 250 |
|
| 243 | 251 |
Phase[] phases = |
| 244 | 252 |
{
|
| 245 | 253 |
new PhaseMitm( mObject, all, wcr), |
| 246 | 254 |
new PhaseMitm( mObject, all, wco), |
| 247 | 255 |
new PhaseMitm( mObject, all, sla), |
| 248 |
new PhaseMitm( mObject, alO, oll), |
|
| 249 |
new PhaseMitm( mObject, alP, pll), |
|
| 256 |
new PhaseMitm( mObject, aeO, oll), |
|
| 257 |
new PhaseMitm( mObject, aeP, pll), |
|
| 258 |
new PhaseMitm( mObject, acP, pcl), |
|
| 259 |
new PhaseMitm( mObject, acO, ocl), |
|
| 250 | 260 |
}; |
| 251 | 261 |
|
| 252 | 262 |
SolverPhased ps = new SolverPhased(mObject,phases); |
| ... | ... | |
| 269 | 279 |
control.solveObject(); |
| 270 | 280 |
mLowerPane.clearMoves(this); |
| 271 | 281 |
|
| 282 |
mNumMoves = 0; |
|
| 272 | 283 |
mMoves = ""; |
| 273 | 284 |
mText.setText(mMoves); |
| 274 | 285 |
} |
| ... | ... | |
| 295 | 306 |
if( mObject==null ) createObject(); |
| 296 | 307 |
int move = findMove(axis,row,angle); |
| 297 | 308 |
mMoves += (" "+move);
|
| 309 |
mNumMoves++; |
|
| 310 |
|
|
| 311 |
if( mNumMoves>10 ) |
|
| 312 |
{
|
|
| 313 |
int space = mMoves.indexOf(' ');
|
|
| 314 |
mMoves = mMoves.substring(space+2); |
|
| 315 |
mNumMoves--; |
|
| 316 |
} |
|
| 317 |
|
|
| 298 | 318 |
mText.setText(mMoves); |
| 299 | 319 |
} |
| 300 | 320 |
|
Also available in: Unified diff
All phases of the 3x3 beginner (seem to) work now.