Project

General

Profile

Actions

Wiki » History » Revision 60

« Previous | Revision 60/61 (diff) | Next »
Distorted Admin, 06/27/2021 11:53 PM


Overview

Magic Cube is an application which lets one play with various TwistyObjects. Currently implemented objects are listed below in the 'How to add a new Object' section.
The app contains graphics effects provided by the Distorted library.
Users can submit their best times to a central High Scores list and download results made by others.

Additionally there's a near-perfect, instantenous 3x3x3 Cube Solver (Kociemba) and a about 2000 Pretty Patterns (more in the plans!).

Magic Cube is open source and released under the terms of the GNU General Public License v2 (GPL).

Downloads

Google play : https://play.google.com/store/apps/details?id=org.distorted.magic
Amazon App Store: https://www.amazon.co.uk/Developer-Magic-Cube/dp/B0875PSWTK

Source code

git clone http://distorted.org/git/distorted-library.git
git clone http://distorted.org/git/distorted-cube.git 

Screenshots

Tutorials

How to add a new Object

  • Write a new class which extends TwistyObject (this one defines the Object itself)
  • Write a new class which extends Movement (this one defines the connection between finger swipes on the screen and Object rotations)
  • add your new classes to the ObjectList 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: Cube , Pyraminx , 6-color Dino , 4-color Dino , Skewb and Master Skewb , Helicopter , Diamond Skewb and the Face-Turning Octahedron , Redi Cube , Ivy Cube , Rex Cube , Kilominx and Master Kilominx , Megaminx and Gigaminx , Fused Cube , 2-Bar Cube , Z-Cube type B , Z-Cube type C, Skewb Ultimate, Square-1, Square-2

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!) TwistyObject, 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 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 the code of your actual solver, then connect it to the rest of the program by modifying the org.distorted.solvers.SolverMain class, and finally add the new solver to the org.distorted.solvers.ImplementedSolversList enum.

Currently implemented solvers: a near-perfect, instantenous Cube3 solver.

Updated by Distorted Admin over 3 years ago · 60 revisions