Revision 6f2a942e
Added by Leszek Koltunski over 5 years ago
| src/main/java/org/distorted/dialog/RubikDialogPattern.java | ||
|---|---|---|
| 69 | 69 |
|
| 70 | 70 |
LayoutInflater layoutInflater = act.getLayoutInflater(); |
| 71 | 71 |
TextView tv = (TextView) layoutInflater.inflate(R.layout.dialog_title, null); |
| 72 |
tv.setText(R.string.patterns);
|
|
| 72 |
tv.setText(R.string.choose_pattern);
|
|
| 73 | 73 |
builder.setCustomTitle(tv); |
| 74 | 74 |
|
| 75 | 75 |
Bundle args = getArguments(); |
| src/main/java/org/distorted/dialog/RubikDialogPatternView.java | ||
|---|---|---|
| 149 | 149 |
@Override |
| 150 | 150 |
public void onClick(View view) |
| 151 | 151 |
{
|
| 152 |
RubikStatePattern state = (RubikStatePattern) RubikState.PATT.getStateClass(); |
|
| 153 |
state.setPattern(act, mTab, category, ii); |
|
| 154 | 152 |
int[] sizes = RubikObjectList.CUBE.getSizes(); |
| 155 | 153 |
RubikPattern pattern = RubikPattern.getInstance(); |
| 156 | 154 |
int[][] moves = pattern.getMoves(mTab, category, ii); |
| 157 | 155 |
act.changeObject(RubikObjectList.CUBE,sizes[mTab],moves); |
| 156 |
RubikStatePattern state = (RubikStatePattern) RubikState.PATT.getStateClass(); |
|
| 157 |
state.setPattern(act, mTab, category, ii); |
|
| 158 | 158 |
mDialog.rememberCategories(); |
| 159 | 159 |
mDialog.dismiss(); |
| 160 | 160 |
} |
| src/main/java/org/distorted/patterns/RubikPattern.java | ||
|---|---|---|
| 154 | 154 |
|
| 155 | 155 |
private static class Pattern implements RubikPostRender.ActionFinishedListener |
| 156 | 156 |
{
|
| 157 |
private String name; |
|
| 157 |
private String nameStr, moveStr;
|
|
| 158 | 158 |
private int[][] moves; |
| 159 | 159 |
private int curMove; |
| 160 | 160 |
private int numMove; |
| 161 | 161 |
private boolean mCanRotate; |
| 162 |
private boolean mInitialized; |
|
| 162 | 163 |
|
| 163 | 164 |
///////////////////////////////////////////////////////////// |
| 164 | 165 |
|
| 165 | 166 |
Pattern(String n, String m) |
| 166 | 167 |
{
|
| 167 |
name=n;
|
|
| 168 |
moves= movesParser(m);
|
|
| 169 |
curMove=numMove;
|
|
| 170 |
mCanRotate = true;
|
|
| 168 |
nameStr = n;
|
|
| 169 |
moveStr = m;
|
|
| 170 |
mCanRotate = true;
|
|
| 171 |
mInitialized = false;
|
|
| 171 | 172 |
} |
| 172 | 173 |
|
| 173 | 174 |
///////////////////////////////////////////////////////////// |
| ... | ... | |
| 175 | 176 |
private int[][] movesParser(String moves) |
| 176 | 177 |
{
|
| 177 | 178 |
numMove = moves.length()/4; |
| 179 |
curMove=numMove; |
|
| 178 | 180 |
|
| 179 | 181 |
int digit0, digit1, digit2; |
| 180 | 182 |
int[][] result = new int[numMove][3]; |
| ... | ... | |
| 197 | 199 |
|
| 198 | 200 |
String getName() |
| 199 | 201 |
{
|
| 200 |
return name; |
|
| 202 |
return nameStr;
|
|
| 201 | 203 |
} |
| 202 | 204 |
|
| 203 | 205 |
///////////////////////////////////////////////////////////// |
| 204 | 206 |
|
| 205 | 207 |
int getNumMove() |
| 206 | 208 |
{
|
| 209 |
if( !mInitialized ) |
|
| 210 |
{
|
|
| 211 |
mInitialized = true; |
|
| 212 |
moves = movesParser(moveStr); |
|
| 213 |
moveStr = null; |
|
| 214 |
} |
|
| 215 |
|
|
| 207 | 216 |
return numMove; |
| 208 | 217 |
} |
| 209 | 218 |
|
| ... | ... | |
| 211 | 220 |
|
| 212 | 221 |
int getCurMove() |
| 213 | 222 |
{
|
| 223 |
if( !mInitialized ) |
|
| 224 |
{
|
|
| 225 |
mInitialized = true; |
|
| 226 |
moves = movesParser(moveStr); |
|
| 227 |
moveStr = null; |
|
| 228 |
} |
|
| 229 |
|
|
| 214 | 230 |
return curMove; |
| 215 | 231 |
} |
| 216 | 232 |
|
| ... | ... | |
| 218 | 234 |
|
| 219 | 235 |
void makeMove(RubikPostRender post) |
| 220 | 236 |
{
|
| 237 |
if( !mInitialized ) |
|
| 238 |
{
|
|
| 239 |
mInitialized = true; |
|
| 240 |
moves = movesParser(moveStr); |
|
| 241 |
moveStr = null; |
|
| 242 |
} |
|
| 243 |
|
|
| 221 | 244 |
curMove++; |
| 222 | 245 |
RubikObject object = post.getObject(); |
| 223 | 246 |
|
| ... | ... | |
| 252 | 275 |
|
| 253 | 276 |
void backMove(RubikPostRender post) |
| 254 | 277 |
{
|
| 278 |
if( !mInitialized ) |
|
| 279 |
{
|
|
| 280 |
mInitialized = true; |
|
| 281 |
moves = movesParser(moveStr); |
|
| 282 |
moveStr = null; |
|
| 283 |
} |
|
| 284 |
|
|
| 255 | 285 |
curMove--; |
| 256 | 286 |
RubikObject object = post.getObject(); |
| 257 | 287 |
|
| ... | ... | |
| 286 | 316 |
|
| 287 | 317 |
int[][] getMoves() |
| 288 | 318 |
{
|
| 319 |
if( !mInitialized ) |
|
| 320 |
{
|
|
| 321 |
mInitialized = true; |
|
| 322 |
moves = movesParser(moveStr); |
|
| 323 |
moveStr = null; |
|
| 324 |
} |
|
| 325 |
|
|
| 326 |
curMove = numMove; |
|
| 289 | 327 |
return moves; |
| 290 | 328 |
} |
| 291 | 329 |
|
| src/main/java/org/distorted/uistate/RubikStatePattern.java | ||
|---|---|---|
| 163 | 163 |
if( diag==null ) |
| 164 | 164 |
{
|
| 165 | 165 |
mText.setTextSize(DEFAULT_TEXT_SIZE); |
| 166 |
mText.setText(R.string.patterns); |
|
| 167 | 166 |
showDialog(mana); |
| 168 | 167 |
} |
| 169 | 168 |
else |
| src/main/res/values/strings.xml | ||
|---|---|---|
| 9 | 9 |
<string name="effects">Effects</string> |
| 10 | 10 |
<string name="scores">High Scores</string> |
| 11 | 11 |
<string name="patterns">Pretty Patterns</string> |
| 12 |
<string name="choose_pattern">Choose a Pattern</string> |
|
| 12 | 13 |
<string name="solver">3x3x3 Solver</string> |
| 13 | 14 |
<string name="about">About</string> |
| 14 | 15 |
<string name="solved">Solved</string> |
Also available in: Unified diff
Bugfixes for Pretty Patterns