Wiki » History » Revision 21
« Previous |
Revision 21/61
(diff)
| Next »
Distorted Admin, 04/16/2020 01:04 PM
Overview¶
Magic Cube is an application which lets one play with Cubes and Pyraminxes of any size. It contains graphhics effects provided by the Distorted library.
Users can submit their best times to a central High Scores list and download results made by others.
A 3x3x3 Cube solver and a Pretty Patterns tutorial is in the plans.
Magic Cube is open source and released under the terms of the GNU General Public License v2 (GPL).
Source code¶
git clone http://distorted.org/git/distorted-library.git git clone http://distorted.org/git/distorted-cube.git
Tutorials¶
How to add a new Rubik Object¶
- Write a new class which extends RubikObject
- Write a new class which extends RubikObjectMovement
- add your new classes to the RubikObjectList enum (here you will also need to provide a small icon to add to the "play" drop-down object list)
and your new Object will automatically become available in the "Play" drop-down list.
Currently implemented Objects: a Cube and a Pyraminx.
How to add a new Transition Effect¶
If you would like to add, say, a new WIN effect (i.e. animation which happens when the Object gets solved) all you need to do is add a new class which extends org.distorted.effect.WinEffect and add the new class to the org.distorted.effect.WinEffect.Type enum.
The new effect will automatically become available in the Effects dialog.
How to add a new Pretty Pattern¶
If you've got a collection of Pretty Patterns for a given (already implemented!) RubikObject, say a Pyraminx 3x3x3, all you need to do to connect it to the Magic Cube is to create a table of Strings describing the patterns ( format needs to follow the one already done in Cube Patterns ) and add the new pattern list to the "org.distorted.patterns.RubikPatternList:https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/patterns/RubikPatternList.java enum.
The new list of Patterns will automatically become available in the Patterns dialog.
How to add a new Solver¶
Work in the org.distorted.solvers package. First create a subdirectory containing your actual solver, then connect it to the rest of the progra by modifying the "org.distorted.solvers.SolverMain:https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/solvers/SolverMain.java class, and finally add the new solver to the org.distorted.solvers.ImplementedSolversList:https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/solvers/ImplementedSolversList.java enum.
Currently implemented solvers: a near-perfect, instantenous Cube3 solver.
Updated by Distorted Admin over 4 years ago · 21 revisions