Revision 8e3898c8
Added by Leszek Koltunski about 4 years ago
src/main/java/org/distorted/scores/RubikScores.java | ||
---|---|---|
29 | 29 |
|
30 | 30 |
import static org.distorted.objects.RubikObjectList.MAX_SIZE; |
31 | 31 |
import static org.distorted.objects.RubikObjectList.NUM_OBJECTS; |
32 |
import static org.distorted.states.RubikStatePlay.MAX_LEVEL;
|
|
32 |
import static org.distorted.objects.RubikObjectList.MAX_LEVEL;
|
|
33 | 33 |
|
34 | 34 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
35 | 35 |
// hold my own scores, and some other statistics. |
... | ... | |
111 | 111 |
|
112 | 112 |
for(int size=0; size<length; size++) |
113 | 113 |
{ |
114 |
for(int scramble=0; scramble<MAX_LEVEL; scramble++)
|
|
114 |
for(int level=0; level<MAX_LEVEL; level++)
|
|
115 | 115 |
{ |
116 |
if( mSubmitted[object][size][scramble]==0 && mRecords[object][size][scramble]<NO_RECORD )
|
|
116 |
if( mSubmitted[object][size][level]==0 && mRecords[object][size][level]<NO_RECORD )
|
|
117 | 117 |
{ |
118 | 118 |
if( !first ) builder.append(','); |
119 | 119 |
else first=false; |
... | ... | |
124 | 124 |
builder.append("_"); |
125 | 125 |
builder.append(sizes[size]); |
126 | 126 |
break; |
127 |
case 1: builder.append(scramble);
|
|
127 |
case 1: builder.append(level);
|
|
128 | 128 |
break; |
129 |
case 2: builder.append(mRecords[object][size][scramble]);
|
|
129 |
case 2: builder.append(mRecords[object][size][level]);
|
|
130 | 130 |
break; |
131 | 131 |
} |
132 | 132 |
} |
... | ... | |
160 | 160 |
int[] sizes; |
161 | 161 |
int length; |
162 | 162 |
|
163 |
for(int scramble=0; scramble<MAX_LEVEL; scramble++)
|
|
163 |
for(int level=0; level<MAX_LEVEL; level++)
|
|
164 | 164 |
{ |
165 | 165 |
builder.setLength(0); |
166 | 166 |
|
... | ... | |
176 | 176 |
builder.append("_"); |
177 | 177 |
builder.append(sizes[size]); |
178 | 178 |
builder.append("="); |
179 |
builder.append(mRecords[object][size][scramble]);
|
|
179 |
builder.append(mRecords[object][size][level]);
|
|
180 | 180 |
builder.append(","); |
181 |
builder.append(mSubmitted[object][size][scramble]);
|
|
181 |
builder.append(mSubmitted[object][size][level]);
|
|
182 | 182 |
builder.append(" "); |
183 | 183 |
} |
184 | 184 |
} |
185 | 185 |
|
186 |
editor.putString("scores_record"+scramble, builder.toString());
|
|
186 |
editor.putString("scores_record"+level, builder.toString());
|
|
187 | 187 |
} |
188 | 188 |
|
189 | 189 |
editor.putString("scores_name" , mName ); |
... | ... | |
202 | 202 |
int object, sizeIndex, subm; |
203 | 203 |
long time; |
204 | 204 |
|
205 |
for(int scramble=0; scramble<MAX_LEVEL; scramble++)
|
|
205 |
for(int level=0; level<MAX_LEVEL; level++)
|
|
206 | 206 |
{ |
207 | 207 |
start = end = 0; |
208 |
recordStr = preferences.getString("scores_record"+scramble, "");
|
|
208 |
recordStr = preferences.getString("scores_record"+level, "");
|
|
209 | 209 |
|
210 | 210 |
while( end!=-1 ) |
211 | 211 |
{ |
... | ... | |
237 | 237 |
|
238 | 238 |
if( sizeIndex>=0 && sizeIndex<MAX_SIZE && subm>=0 && subm<=1 ) |
239 | 239 |
{ |
240 |
mRecords [object][sizeIndex][scramble] = time;
|
|
241 |
mSubmitted[object][sizeIndex][scramble] = subm;
|
|
240 |
mRecords [object][sizeIndex][level] = time;
|
|
241 |
mSubmitted[object][sizeIndex][level] = subm;
|
|
242 | 242 |
} |
243 | 243 |
else |
244 | 244 |
{ |
... | ... | |
264 | 264 |
|
265 | 265 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
266 | 266 |
|
267 |
public boolean setRecord(int object, int size, int scramble, long timeTaken)
|
|
267 |
public boolean setRecord(int object, int size, int level, long timeTaken)
|
|
268 | 268 |
{ |
269 | 269 |
int maxsize = RubikObjectList.getObject(object).getSizes().length; |
270 | 270 |
|
271 |
if( object>=0 && object<NUM_OBJECTS && size>=0 && size<maxsize && scramble>=1 && scramble<=MAX_LEVEL )
|
|
271 |
if( object>=0 && object<NUM_OBJECTS && size>=0 && size<maxsize && level>=1 && level<=MAX_LEVEL )
|
|
272 | 272 |
{ |
273 |
if( mRecords[object][size][scramble-1]> timeTaken )
|
|
273 |
if( mRecords[object][size][level-1]> timeTaken )
|
|
274 | 274 |
{ |
275 |
mRecords [object][size][scramble-1] = timeTaken;
|
|
276 |
mSubmitted[object][size][scramble-1] = 0;
|
|
275 |
mRecords [object][size][level-1] = timeTaken;
|
|
276 |
mSubmitted[object][size][level-1] = 0;
|
|
277 | 277 |
return true; |
278 | 278 |
} |
279 | 279 |
} |
... | ... | |
341 | 341 |
|
342 | 342 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
343 | 343 |
|
344 |
public long getRecord(int object, int size, int scramble)
|
|
344 |
public long getRecord(int object, int size, int level)
|
|
345 | 345 |
{ |
346 | 346 |
int maxsize = RubikObjectList.getObject(object).getSizes().length; |
347 | 347 |
|
348 |
if( object>=0 && object<NUM_OBJECTS && size>=0 && size<maxsize && scramble>=0 && scramble<MAX_LEVEL )
|
|
348 |
if( object>=0 && object<NUM_OBJECTS && size>=0 && size<maxsize && level>=0 && level<MAX_LEVEL )
|
|
349 | 349 |
{ |
350 |
return mRecords[object][size][scramble];
|
|
350 |
return mRecords[object][size][level];
|
|
351 | 351 |
} |
352 | 352 |
|
353 | 353 |
return -1; |
... | ... | |
355 | 355 |
|
356 | 356 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
357 | 357 |
|
358 |
public boolean isSubmitted(int object, int size, int scramble)
|
|
358 |
public boolean isSubmitted(int object, int size, int level)
|
|
359 | 359 |
{ |
360 | 360 |
int maxsize = RubikObjectList.getObject(object).getSizes().length; |
361 | 361 |
|
362 |
if( object>=0 && object<NUM_OBJECTS && size>=0 && size<maxsize && scramble>=0 && scramble<MAX_LEVEL )
|
|
362 |
if( object>=0 && object<NUM_OBJECTS && size>=0 && size<maxsize && level>=0 && level<MAX_LEVEL )
|
|
363 | 363 |
{ |
364 |
return mSubmitted[object][size][scramble]==1;
|
|
364 |
return mSubmitted[object][size][level]==1;
|
|
365 | 365 |
} |
366 | 366 |
|
367 | 367 |
return false; |
... | ... | |
422 | 422 |
length = list.getSizes().length; |
423 | 423 |
|
424 | 424 |
for(int size=0; size<length; size++) |
425 |
for(int scramble=0; scramble<MAX_LEVEL; scramble++)
|
|
425 |
for(int level=0; level<MAX_LEVEL; level++)
|
|
426 | 426 |
{ |
427 |
if( mSubmitted[object][size][scramble]==0 && mRecords[object][size][scramble]<NO_RECORD )
|
|
427 |
if( mSubmitted[object][size][level]==0 && mRecords[object][size][level]<NO_RECORD )
|
|
428 | 428 |
{ |
429 | 429 |
return true; |
430 | 430 |
} |
Also available in: Unified diff
Each object size now has its own number of levels (not always 18!)