Revision 4895fff6
Added by Leszek Koltunski about 4 years ago
src/main/java/org/distorted/scores/RubikScores.java | ||
---|---|---|
73 | 73 |
mDeviceID= -1; |
74 | 74 |
} |
75 | 75 |
|
76 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
77 |
/* |
|
78 |
private static int computeHash() |
|
79 |
{ |
|
80 |
final int MODULO = 227; |
|
81 |
int ret = 0; |
|
82 |
|
|
83 |
for(int i=0; i<MAX_CUBE-1; i++) |
|
84 |
ret += (2*i+3)*passedlevel[i]; |
|
85 |
|
|
86 |
for(int i=0; i<MAX_CUBE-1; i++) |
|
87 |
for(int j=0; j<MAX_LEVELS; j++) |
|
88 |
ret += (i*i+3*j)*records[i][j]; |
|
89 |
|
|
90 |
int length = veriname==null ? 0 : veriname.length(); |
|
91 |
|
|
92 |
for(int i=0;i<length;i++) |
|
93 |
ret += i*veriname.charAt(i); |
|
94 |
|
|
95 |
return (ret%=MODULO); |
|
96 |
} |
|
97 |
*/ |
|
98 | 76 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
99 | 77 |
|
100 | 78 |
public static RubikScores getInstance() |
... | ... | |
258 | 236 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
259 | 237 |
// TODO |
260 | 238 |
|
261 |
public void verifyName()
|
|
239 |
public void successfulSubmit()
|
|
262 | 240 |
{ |
263 | 241 |
mNameIsVerified = true; |
264 |
} |
|
265 |
|
|
266 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
267 |
// TODO |
|
268 | 242 |
|
269 |
public void setSubmitted(int object, int size, int scramble) |
|
270 |
{ |
|
271 |
int maxsize = RubikObjectList.getObject(object).getSizes().length; |
|
272 |
|
|
273 |
if( object>=0 && object<NUM_OBJECTS && size>=0 && size<maxsize && scramble>=1 && scramble<=MAX_SCRAMBLE ) |
|
274 |
{ |
|
275 |
mSubmitted[object][size][scramble] = 1; |
|
276 |
} |
|
243 |
for(int i=0; i<NUM_OBJECTS; i++) |
|
244 |
for(int j=0; j<MAX_SIZE ; j++) |
|
245 |
for(int k=0; k<MAX_SCRAMBLE; k++) |
|
246 |
{ |
|
247 |
mSubmitted[i][j][k]=1; |
|
248 |
} |
|
277 | 249 |
} |
278 | 250 |
|
279 | 251 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
301 | 273 |
|
302 | 274 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
303 | 275 |
|
304 |
private int getDeviceID()
|
|
276 |
int getDeviceID() |
|
305 | 277 |
{ |
306 | 278 |
int id; |
307 | 279 |
|
... | ... | |
319 | 291 |
return id<0 ? -id : id; |
320 | 292 |
} |
321 | 293 |
|
322 |
|
|
323 | 294 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
324 | 295 |
|
325 | 296 |
public long getRecord(int object, int size, int scramble) |
... | ... | |
349 | 320 |
} |
350 | 321 |
|
351 | 322 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
352 |
// TODO |
|
353 | 323 |
|
354 |
public boolean isVerified()
|
|
324 |
boolean isVerified() |
|
355 | 325 |
{ |
356 | 326 |
return mNameIsVerified; |
357 | 327 |
} |
358 | 328 |
|
359 | 329 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
360 |
// TODO |
|
361 | 330 |
|
362 |
public int getNumPlays()
|
|
331 |
int getNumPlays() |
|
363 | 332 |
{ |
364 | 333 |
return mNumPlays; |
365 | 334 |
} |
366 | 335 |
|
367 | 336 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
368 | 337 |
|
369 |
public int getNumRuns()
|
|
338 |
int getNumRuns() |
|
370 | 339 |
{ |
371 | 340 |
return mNumRuns; |
372 | 341 |
} |
... | ... | |
384 | 353 |
{ |
385 | 354 |
return mCountry; |
386 | 355 |
} |
356 |
|
|
357 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
358 |
|
|
359 |
private String getUnsubmittedList(int mode) |
|
360 |
{ |
|
361 |
RubikObjectList list; |
|
362 |
StringBuilder builder = new StringBuilder(); |
|
363 |
boolean first = true; |
|
364 |
int[] sizes; |
|
365 |
int length; |
|
366 |
|
|
367 |
for(int object=0; object<NUM_OBJECTS; object++) |
|
368 |
{ |
|
369 |
list = RubikObjectList.getObject(object); |
|
370 |
sizes = list.getSizes(); |
|
371 |
length = sizes.length; |
|
372 |
|
|
373 |
for(int size=0; size<length; size++) |
|
374 |
{ |
|
375 |
for(int scramble=0; scramble<MAX_SCRAMBLE; scramble++) |
|
376 |
{ |
|
377 |
if( mSubmitted[object][size][scramble]==0 && mRecords[object][size][scramble]<NO_RECORD ) |
|
378 |
{ |
|
379 |
if( !first ) builder.append(','); |
|
380 |
else first=false; |
|
381 |
|
|
382 |
switch(mode) |
|
383 |
{ |
|
384 |
case 0: builder.append(list.name()); |
|
385 |
builder.append("_"); |
|
386 |
builder.append(sizes[size]); |
|
387 |
break; |
|
388 |
case 1: builder.append(scramble); |
|
389 |
break; |
|
390 |
case 2: builder.append(mRecords[object][size][scramble]); |
|
391 |
break; |
|
392 |
} |
|
393 |
} |
|
394 |
} |
|
395 |
} |
|
396 |
} |
|
397 |
|
|
398 |
return builder.toString(); |
|
399 |
} |
|
400 |
|
|
401 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
402 |
|
|
403 |
String getUnsubmittedObjlist() |
|
404 |
{ |
|
405 |
return getUnsubmittedList(0); |
|
406 |
} |
|
407 |
|
|
408 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
409 |
|
|
410 |
String getUnsubmittedLevellist() |
|
411 |
{ |
|
412 |
return getUnsubmittedList(1); |
|
413 |
} |
|
414 |
|
|
415 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
416 |
|
|
417 |
String getUnsubmittedTimelist() |
|
418 |
{ |
|
419 |
return getUnsubmittedList(2); |
|
420 |
} |
|
387 | 421 |
} |
Also available in: Unified diff
Beginnings of submitting one's high scores.