Project

General

Profile

« Previous | Next » 

Revision 28bfa000

Added by Leszek Koltunski over 1 year ago

Make it possible to (fully!) read version 6 JSONs - some users might have Pyraminx Duo v. 6 already downloaded!

View differences:

src/main/java/org/distorted/objectlib/main/TwistyObject.java
308 308
      }
309 309
    }
310 310

  
311
///////////////////////////////////////////////////////////////////////////////////////////////////
312

  
313
  public static int[][] staticGetAlgorithms(int[][] basicAngles)
314
    {
315
    int numAxis= basicAngles.length;
316
    int num=0;
317

  
318
    for (int[] basic : basicAngles)
319
      for (int i : basic) num += (i-1);
320

  
321
    int[][] ret = new int[num][3];
322
    int index = 0;
323

  
324
    for(int i=0; i<numAxis; i++)
325
      {
326
      int numLayers = basicAngles[i].length;
327

  
328
      for(int j=0; j<numLayers; j++)
329
        {
330
        int N = basicAngles[i][j];
331
        int NEG = (1-N)/2;
332
        int POS = N/2;
333

  
334
        for(int k=NEG; k<=-1; k++)
335
          {
336
          ret[index][0] = i;
337
          ret[index][1] = j;
338
          ret[index][2] = k;
339
          index++;
340
          }
341

  
342
        for(int k=1; k<=POS; k++)
343
          {
344
          ret[index][0] = i;
345
          ret[index][1] = j;
346
          ret[index][2] = k;
347
          index++;
348
          }
349
        }
350
      }
351

  
352
    return ret;
353
    }
354

  
311 355
///////////////////////////////////////////////////////////////////////////////////////////////////
312 356

  
313 357
  private void createQuaternionEffects()
......
586 630

  
587 631
  public int[][] getScrambleAlgorithms()
588 632
    {
589
    int num=0;
590

  
591
    for (int[] basic : mBasicAngles)
592
      for (int i : basic) num += (i-1);
593

  
594
    int[][] ret = new int[num][3];
595
    int index = 0;
596

  
597
    for(int i=0; i<mNumAxis; i++)
598
      for(int j=0; j<mNumLayers[i]; j++)
599
        {
600
        int N = mBasicAngles[i][j];
601
        int NEG = (1-N)/2;
602
        int POS = N/2;
603

  
604
        for(int k=NEG; k<=-1; k++)
605
          {
606
          ret[index][0] = i;
607
          ret[index][1] = j;
608
          ret[index][2] = k;
609
          index++;
610
          }
611

  
612
        for(int k=1; k<=POS; k++)
613
          {
614
          ret[index][0] = i;
615
          ret[index][1] = j;
616
          ret[index][2] = k;
617
          index++;
618
          }
619
        }
620

  
621
    return ret;
633
    return staticGetAlgorithms(mBasicAngles);
622 634
    }
623 635

  
624 636
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff