Project

General

Profile

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

magiccube / src / main / java / org / distorted / objects / MovementSquare.java @ 4946b635

# Date Author Comment
4946b635 09/24/2021 11:30 AM Leszek Koltunski

Major abstraction - automatically compute the 'computeRowFromOffset()' function from CUTS.
Still one thing left: it appears like the CUTS of Mega/Kilominxes are not correct.

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.

da178c88 09/19/2021 12:44 AM Leszek Koltunski

Make computing the offset in the Movement class more correct. From now on, in the center of the face the offset if always 0 regardless of the axis.
Before it would always assume that we can add DIST2D to the offset which is originated at the center of the face and this way get an offset which spans from 0 to height of the face. This is not always true - conterexample: half of the triangluar faces of an octahedron which are 'upside down'

df664009 09/18/2021 08:40 PM Leszek Koltunski

Minor

5b05d357 09/17/2021 04:10 PM Leszek Koltunski

Minor

be7c9190 09/17/2021 03:51 PM Leszek Koltunski

Abstract out some methods from the Movement classes. only two remain now: rowFromOffset and enabledAxis.

7e338611 09/15/2021 10:37 AM Leszek Koltunski

On second thought, come back to Vector. The problem: before we had the potentially blocking function 'effectFinished' inside our synchronized block.

0021af58 09/02/2021 10:44 PM Leszek Koltunski

Convert Square-2 to the new generic scrambling algorithm.

In order to do it we need to introduce a third, artificial rotational axis - otherwise the algorithm would make it impossible to rotate the lower layer and immediatelly after - the upper.

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.

1ded8771 06/04/2021 01:37 PM Leszek Koltunski

Square-1: progress with movement.

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

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

834b2618 06/03/2021 01:40 PM Leszek Koltunski

Square-1: beginnings