Project

General

Profile

Download (15.1 KB) Statistics
| Branch: | Tag: | Revision:

magiccube / src / main / java / org / distorted / objects / TwistyBandagedAbstract.java @ ef018c1b

# Date Author Comment
ef018c1b 09/23/2021 02:11 AM Leszek Koltunski

Abstract the next function, computeRowFromOffset(), out of the individual Movement classes.
Still two issues:

1) mysterious 1.5 multiplier in Movement12
2) in Movement8, moving the offset works only if the rotAxis are face-turning, i.e. they connect the centers of the opposing faces of the octahedron.

efa81f0c 09/21/2021 01:43 AM Leszek Koltunski

Introduce abstract 4,6,8 adn 12 classes.

e9a87113 09/21/2021 12:59 AM Leszek Koltunski

Move the Movement class from ObjectList to individual object classes.

abf36986 09/13/2021 03:15 AM Leszek Koltunski

Add Mirror Cube 2x2 and 3x3.

91792184 09/10/2021 01:29 AM Leszek Koltunski

Make object scrambling abstract (well, almost - with exception of Square-1 - this theoretically could also be done the generic way, but this would require almost 20000 'ScrambleStates')

97eb0852 09/06/2021 10:29 PM Leszek Koltunski

Remove more statics from the Bandaged Cube classes.

f2d0d23e 09/06/2021 03:14 PM Leszek Koltunski

Remove statics from the Bandaged Cube classes.

e1dc3366 08/31/2021 05:46 PM Leszek Koltunski

Introduce pseudorandom balancing into scrambling to all the other already converted objects, i.e. everytihng except for Pyraminxes, Squares, Minxes and the Redi.

6cf89a3e 08/31/2021 03:38 PM Leszek Koltunski

Introduce pseudorandom balancing into scrambling in case of the two Dinos (from now on, the more times a particular (ax,layer) combination has been chosen already in the scrambling sequence, the less likely it is to be chosen next).
Fix Dino6 - isSolved(). Sadly, it cannot be the geeneric function - it needs to be another special case.

38589947 08/30/2021 10:51 AM Leszek Koltunski

Unify scrambling across all 4 bandaged objects.

5e254115 08/26/2021 10:39 PM Leszek Koltunski

auto-compute the bandaged status from dimension of the CENTERS. Make 'computeBitmapFromRow' generic for bandageed and not bandaged objects.

169219a7 08/26/2021 10:30 PM Leszek Koltunski

Remove the last 'isSolved()' (from Dino4) and put it to the parent class as a special case.

a480ee80 08/26/2021 01:13 AM Leszek Koltunski

Standarize the 'isSolved()' method: now all objects, except one (Dino4) have a standard isSolved().
This incidentally also fixes detection of the solved state in case of Diamond4, i.e. a Master FTO.

3e605536 08/23/2021 03:20 PM Leszek Koltunski

Finally remove cubit creation from the implementation classes and move it to the TwistyObject.

f10a88a8 08/20/2021 12:39 AM Leszek Koltunski

Move 1) bandaged 3x3 2) normals cubes 3) octahedrons 4) both dinos to the new cubit creation scheme.

ad7907b0 08/19/2021 11:28 PM Leszek Koltunski

Important step towards making the implementation of an individual puzzle code-free (i.e. data-only): move the 'MeshBase[] mMeshes' variable from the individual classes to the parent TwistyObject.

47d98cd5 08/17/2021 05:30 PM Leszek Koltunski

Convert the Ivy corner cubit to the new, 'universal' cubit creation method.

This forces deep changes to 'createRoundSolid' and the underlying 'MeshPolygon' class to make them support arbitrary Polygon 'centers of face convexity'.

Reason: the faces of this cubit are concave and such default 'center of face convexity' (which by default used to be (0,0)) turned to lie outside the face - which produces strange visual artifacts.

6b2ab5c5 08/09/2021 02:36 PM Leszek Koltunski

Corrections for the Bandaged cubit creation.

eae4b3b2 08/08/2021 10:45 PM Leszek Koltunski

Convert bandaged Cubes to the standard mesh creation code.

ecf3f149 08/08/2021 04:46 PM Leszek Koltunski

Move the TwistyObject.retCubePosition() to the solver.

9c06394a 08/08/2021 04:21 PM Leszek Koltunski

Standarize drawing stickers of a twisty puzzle. From now on, there's no 'sticker drawing' code in the individual classes, only some constants.

29bc084f 08/06/2021 01:48 PM Leszek Koltunski

Convert the last 'special' case, the Rex edge sticker, to the generic sticker mechanism.

9ce78850 08/06/2021 12:38 AM Leszek Koltunski

Generalize FactorySticker - make it possible to draw stickers whose sides are curved.
Convert the Ivy to use this new functionality.

f20119c6 06/05/2021 12:02 AM Leszek Koltunski

Square-1: implement the fact that corners might bandage the puzzle.

43889e94 06/04/2021 11:35 PM Leszek Koltunski

Square-1: this is a shape-shifter; we cannot just clamp the Cubit positions to the initial list of positions.
Do so only if the minError is appropriately low.

e6734aa9 06/04/2021 01:25 AM Leszek Koltunski

Make it possible for an object to have different 'cuts' along each of its axis.

925ed78f 06/04/2021 12:26 AM Leszek Koltunski

Make it possible for an object to have different 'basicAngles' along each of its axis.

0203be88 06/03/2021 10:06 PM Leszek Koltunski

Remove the need for RowChances.

be56193c 04/20/2021 12:28 AM Leszek Koltunski

Move all the special cubit-creating code out of FactoryCubit and to the Object classes, and thus hopefully finish implementing the new cubit creating engine.

749ef882 04/14/2021 10:01 AM Leszek Koltunski

Move Factories to the 'helpers' package.

10cd5579 03/23/2021 03:27 PM Leszek Koltunski

Bugfix.

68ce0d53 03/23/2021 01:30 PM Leszek Koltunski

Simplify the 'bandaged' class API.

51a07bb4 03/20/2021 10:44 PM Leszek Koltunski

Minor

eff371f4 03/18/2021 05:43 PM Leszek Koltunski

Bandaged objects: first step making automatic scrambling work.

ce366b42 03/18/2021 12:55 PM Leszek Koltunski

Make manual scrambling work.

92ec91b9 03/18/2021 11:48 AM Leszek Koltunski

Progress with bandaged objects.

e6cf7283 03/18/2021 09:48 AM Leszek Koltunski

Change the Cubit center from a Static3D to a float[].
The point: now we can have more than one center, and bandaged objects need more than one, because in this way they are going to fill up their RotationRow bitmaps.

f0450fcc 03/17/2021 04:37 PM Leszek Koltunski

Change Cubit.mRotationRow[] from an index pointing at a single rotating layer to a bitmap potentially pointing at several layers.
(in preparation for bandaged objects)

722b2512 03/17/2021 03:20 PM Leszek Koltunski

Simplifications.

221a4090 03/17/2021 02:31 PM Leszek Koltunski

Simplification with objects.

538ee7a6 03/16/2021 11:44 PM Leszek Koltunski

Progress with bandaged cubes.