Revision 1a2182df
Added by Leszek Koltunski about 1 year ago
src/main/java/org/distorted/objectlib/objects/TwistyIcosamate.java | ||
---|---|---|
99 | 99 |
{ |
100 | 100 |
if( mCuts==null ) |
101 | 101 |
{ |
102 |
float[] cut = new float[] {0}; |
|
102 |
float[] cut = new float[] {0}; // TODO
|
|
103 | 103 |
mCuts = new float[][] { cut,cut,cut,cut,cut,cut }; |
104 | 104 |
} |
105 | 105 |
|
... | ... | |
110 | 110 |
|
111 | 111 |
public boolean[][] getLayerRotatable(int[] numLayers) |
112 | 112 |
{ |
113 |
boolean[] tmp = new boolean[] {true,true}; |
|
113 |
int nL = numLayers[0]; |
|
114 |
boolean[] tmp = new boolean[nL]; |
|
115 |
for(int i=0; i<nL; i++) tmp[i] = true; |
|
114 | 116 |
return new boolean[][] { tmp,tmp,tmp,tmp,tmp,tmp }; |
115 | 117 |
} |
116 | 118 |
|
... | ... | |
329 | 331 |
|
330 | 332 |
public int getNumCubitVariants(int[] numLayers) |
331 | 333 |
{ |
332 |
return 2;
|
|
334 |
return getNumLayers()[0]==2 ? 2 : 3;
|
|
333 | 335 |
} |
334 | 336 |
|
335 | 337 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
336 | 338 |
|
337 | 339 |
public int getCubitVariant(int cubit, int[] numLayers) |
338 | 340 |
{ |
339 |
return cubit<12 ? 0:1; |
|
341 |
int N = getNumLayers()[0]; |
|
342 |
return cubit<12 ? 0 : (cubit<10*N*(N-1)+12 ? 1 : 2); |
|
340 | 343 |
} |
341 | 344 |
|
342 | 345 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
387 | 390 |
|
388 | 391 |
public String getShortName() |
389 | 392 |
{ |
390 |
return ObjectType.ICOS_2.name(); |
|
393 |
switch(getNumLayers()[0]) |
|
394 |
{ |
|
395 |
case 2: return ObjectType.ICOS_2.name(); |
|
396 |
case 3: return ObjectType.ICOS_3.name(); |
|
397 |
} |
|
398 |
|
|
399 |
return null; |
|
391 | 400 |
} |
392 | 401 |
|
393 | 402 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
394 | 403 |
|
395 | 404 |
public ObjectSignature getSignature() |
396 | 405 |
{ |
397 |
return new ObjectSignature(ObjectSignatures.ICOS_2); |
|
406 |
switch(getNumLayers()[0]) |
|
407 |
{ |
|
408 |
case 2: return new ObjectSignature(ObjectSignatures.ICOS_2); |
|
409 |
case 3: return new ObjectSignature(ObjectSignatures.ICOS_3); |
|
410 |
} |
|
411 |
|
|
412 |
return null; |
|
398 | 413 |
} |
399 | 414 |
|
400 | 415 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
401 | 416 |
|
402 | 417 |
public String getObjectName() |
403 | 418 |
{ |
404 |
return "Icosamate"; |
|
419 |
switch(getNumLayers()[0]) |
|
420 |
{ |
|
421 |
case 2: return "Icosamate"; |
|
422 |
case 3: return "Master Icosamate"; |
|
423 |
} |
|
424 |
return null; |
|
405 | 425 |
} |
406 | 426 |
|
407 | 427 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
408 | 428 |
|
409 | 429 |
public String getInventor() |
410 | 430 |
{ |
411 |
return "Jason Smith"; |
|
431 |
switch(getNumLayers()[0]) |
|
432 |
{ |
|
433 |
case 2: return "Jason Smith"; |
|
434 |
case 3: return "Keisuke Maruyama"; |
|
435 |
} |
|
436 |
return null; |
|
412 | 437 |
} |
413 | 438 |
|
414 | 439 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
415 | 440 |
|
416 | 441 |
public int getYearOfInvention() |
417 | 442 |
{ |
418 |
return 2010; |
|
443 |
switch(getNumLayers()[0]) |
|
444 |
{ |
|
445 |
case 2: return 2010; |
|
446 |
case 3: return 2018; |
|
447 |
} |
|
448 |
return 0; |
|
419 | 449 |
} |
420 | 450 |
|
421 | 451 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
422 | 452 |
|
423 | 453 |
public int getComplexity() |
424 | 454 |
{ |
425 |
return 3;
|
|
455 |
return getNumLayers()[0]==2 ? 3 : 4;
|
|
426 | 456 |
} |
427 | 457 |
|
428 | 458 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
429 | 459 |
|
430 | 460 |
public String[][] getTutorials() |
431 | 461 |
{ |
432 |
return new String[][] { |
|
462 |
int[] numLayers = getNumLayers(); |
|
463 |
|
|
464 |
switch(numLayers[0]) |
|
465 |
{ |
|
466 |
case 2: return new String[][] { |
|
433 | 467 |
{"gb","e7Es4Zx6Sl4","Icosamate introduction & algorithms","Superantoniovivaldi"}, |
434 | 468 |
{"gb","ZhkklbYfs98","Icosamate solve","Superantoniovivaldi"}, |
435 | 469 |
{"pl","eJTLTeoicWI","Icosamate TUTORIAL PL","MrUK"}, |
436 | 470 |
{"vn","RVjjxj9rPeg","BẠN PHẠM BẢO GIẢI ICOSAMATE","VĂN CÔNG TÙNG"}, |
437 | 471 |
}; |
472 |
case 3: return new String[][] { |
|
473 |
{"gb","77aBjBdfA2Q","Master Icosamate Algorithms","Superantoniovivaldi"}, |
|
474 |
{"gb","j6AIwlIofFU","Master Icosamate Tutorial","Superantoniovivaldi"}, |
|
475 |
{"gb","5Z1B5r6-CxM","Astrominx Tutorial","Jabberwock Technologies"}, |
|
476 |
{"pl","","Icosamate TUTORIAL PL","MrUK"}, |
|
477 |
{"vn","C4YO0B4rgTc","Tutorial N.237- Master Icosamate 1/3","Duy Thích Rubik"}, |
|
478 |
{"vn","90m_0AoyOHU","Tutorial N.237- Master Icosamate 2/3","Duy Thích Rubik"}, |
|
479 |
{"vn","LOd5qBwoP_k","Tutorial N.237- Master Icosamate 3/3","Duy Thích Rubik"}, |
|
480 |
}; |
|
481 |
} |
|
482 |
|
|
483 |
return null; |
|
438 | 484 |
} |
439 | 485 |
} |
Also available in: Unified diff
Master Icosamate: first code.