Project

General

Profile

« Previous | Next » 

Revision 4895fff6

Added by Leszek Koltunski about 4 years ago

Beginnings of submitting one's high scores.

View differences:

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