Revision 0e7a13b4
Added by Leszek Koltunski almost 5 years ago
| src/main/java/org/distorted/objects/TwistyMegaminx.java | ||
|---|---|---|
| 414 | 414 |
|
| 415 | 415 |
int getCornerColor(int cubit, int cubitface, int numLayers, int numCubitsPerCorner) |
| 416 | 416 |
{
|
| 417 |
if( cubitface<0 || cubitface>2 ) return NUM_TEXTURES*NUM_FACES;
|
|
| 417 |
if( cubitface<0 || cubitface>2 ) return NUM_TEXTURES; |
|
| 418 | 418 |
|
| 419 | 419 |
int part = cubit % numCubitsPerCorner; |
| 420 | 420 |
int corner= cubit / numCubitsPerCorner; |
| ... | ... | |
| 429 | 429 |
int block = (part-1) % N; |
| 430 | 430 |
int index = (part-1) / N; |
| 431 | 431 |
|
| 432 |
if( block< (numLayers-1)/2 )
|
|
| 432 |
if( block< (numLayers-3)/2 )
|
|
| 433 | 433 |
{
|
| 434 | 434 |
switch(index) |
| 435 | 435 |
{
|
| 436 |
case 0: return cubitface==1 ? NUM_TEXTURES*NUM_FACES : mCornerFaceMap[corner][cubitface];
|
|
| 437 |
case 1: return cubitface==0 ? NUM_TEXTURES*NUM_FACES : mCornerFaceMap[corner][cubitface];
|
|
| 438 |
case 2: return cubitface==2 ? NUM_TEXTURES*NUM_FACES : mCornerFaceMap[corner][cubitface];
|
|
| 436 |
case 0: return cubitface==1 ? NUM_TEXTURES : mCornerFaceMap[corner][cubitface]; |
|
| 437 |
case 1: return cubitface==0 ? NUM_TEXTURES : mCornerFaceMap[corner][cubitface]; |
|
| 438 |
case 2: return cubitface==2 ? NUM_TEXTURES : mCornerFaceMap[corner][cubitface]; |
|
| 439 | 439 |
} |
| 440 | 440 |
} |
| 441 | 441 |
else |
| 442 | 442 |
{
|
| 443 | 443 |
switch(index) |
| 444 | 444 |
{
|
| 445 |
case 0: return cubitface==0 ? mCornerFaceMap[corner][cubitface] : NUM_TEXTURES*NUM_FACES;
|
|
| 446 |
case 1: return cubitface==2 ? mCornerFaceMap[corner][cubitface] : NUM_TEXTURES*NUM_FACES;
|
|
| 447 |
case 2: return cubitface==1 ? mCornerFaceMap[corner][cubitface] : NUM_TEXTURES*NUM_FACES;
|
|
| 445 |
case 0: return cubitface==0 ? mCornerFaceMap[corner][cubitface] : NUM_TEXTURES; |
|
| 446 |
case 1: return cubitface==2 ? mCornerFaceMap[corner][cubitface] : NUM_TEXTURES; |
|
| 447 |
case 2: return cubitface==1 ? mCornerFaceMap[corner][cubitface] : NUM_TEXTURES; |
|
| 448 | 448 |
} |
| 449 | 449 |
} |
| 450 | 450 |
} |
| 451 | 451 |
|
| 452 |
return NUM_TEXTURES*NUM_FACES;
|
|
| 452 |
return NUM_TEXTURES; |
|
| 453 | 453 |
} |
| 454 | 454 |
|
| 455 | 455 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 456 | 456 |
|
| 457 | 457 |
int getEdgeColor(int cubit, int cubitface, int numLayers, int numCubitsPerCorner, int numCubitsPerEdge) |
| 458 | 458 |
{
|
| 459 |
if( cubitface<0 || cubitface>1 ) return NUM_TEXTURES*NUM_FACES;
|
|
| 459 |
if( cubitface<0 || cubitface>1 ) return NUM_TEXTURES; |
|
| 460 | 460 |
|
| 461 | 461 |
int part = (cubit - NUM_CORNERS*numCubitsPerCorner) % numCubitsPerEdge; |
| 462 | 462 |
int edge = (cubit - NUM_CORNERS*numCubitsPerCorner) / numCubitsPerEdge; |
| ... | ... | |
| 466 | 466 |
return mEdgeMap[edge][cubitface+2]; |
| 467 | 467 |
} |
| 468 | 468 |
|
| 469 |
return cubitface==((part+1)%2) ? mEdgeMap[edge][cubitface+2] : NUM_TEXTURES*NUM_FACES;
|
|
| 469 |
return cubitface==((part+1)%2) ? mEdgeMap[edge][cubitface+2] : NUM_TEXTURES; |
|
| 470 | 470 |
} |
| 471 | 471 |
|
| 472 | 472 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
Progress with Megaminx.