Wiki » History » Version 59
Distorted Admin, 05/27/2021 02:15 AM
1 | 2 | Distorted Admin | h1. Overview |
---|---|---|---|
2 | 1 | Distorted Admin | |
3 | 42 | Leszek Koltunski | 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. |
4 | The app contains graphics effects provided by the "Distorted":https://distorted.org/redmine/projects/distorted-android/wiki/wiki library. |
||
5 | 5 | Distorted Admin | Users can submit their best times to a central High Scores list and download results made by others. |
6 | 36 | Distorted Admin | |
7 | 35 | Distorted Admin | Additionally there's a near-perfect, instantenous 3x3x3 Cube Solver (Kociemba) and a about 2000 Pretty Patterns (more in the plans!). |
8 | 5 | Distorted Admin | |
9 | 2 | Distorted Admin | Magic Cube is open source and released under the terms of the "GNU General Public License v2":http://www.gnu.org/licenses/old-licenses/gpl-2.0.html (GPL). |
10 | 47 | Leszek Koltunski | |
11 | |||
12 | 32 | Distorted Admin | h1. Downloads |
13 | |||
14 | 33 | Distorted Admin | Google play : https://play.google.com/store/apps/details?id=org.distorted.magic |
15 | Amazon App Store: https://www.amazon.co.uk/Developer-Magic-Cube/dp/B0875PSWTK |
||
16 | 32 | Distorted Admin | |
17 | 2 | Distorted Admin | h1. Source code |
18 | 1 | Distorted Admin | |
19 | 2 | Distorted Admin | <pre> |
20 | 1 | Distorted Admin | git clone http://distorted.org/git/distorted-library.git |
21 | git clone http://distorted.org/git/distorted-cube.git |
||
22 | 2 | Distorted Admin | </pre> |
23 | 3 | Distorted Admin | |
24 | 43 | Leszek Koltunski | h1. Screenshots |
25 | |||
26 | 55 | Distorted Admin | !240_CUBE3.png! !240_DIAM2.png! !240_REDI.png! !240_PYRA4.png! !240_DINO.png! !240_HELI.png! |
27 | 43 | Leszek Koltunski | |
28 | 3 | Distorted Admin | h1. Tutorials |
29 | 13 | Distorted Admin | |
30 | 30 | Distorted Admin | |
31 | 34 | Distorted Admin | h2. How to add a new Object |
32 | 3 | Distorted Admin | |
33 | 39 | Leszek Koltunski | * Write a new class which extends "TwistyObject":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyObject.java (this one defines the Object itself) |
34 | * Write a new class which extends "Movement":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/Movement.java (this one defines the connection between finger swipes on the screen and Object rotations) |
||
35 | 37 | Leszek Koltunski | * add your new classes to the "ObjectList":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/ObjectList.java enum (here you will also need to provide a small icon to add to the "play" drop-down object list) |
36 | 20 | Distorted Admin | |
37 | and your new Object will automatically become available in the "Play" drop-down list. |
||
38 | 3 | Distorted Admin | |
39 | 59 | Distorted Admin | Currently implemented Objects: "Cube":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyCube.java , "Pyraminx":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyPyraminx.java , "6-color Dino":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyDino6.java , "4-color Dino":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyDino4.java , "Skewb and Master Skewb":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistySkewb.java , "Helicopter":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyHelicopter.java , "Diamond Skewb and the Face-Turning Octahedron":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyDiamond.java , "Redi Cube":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyRedi.java , "Ivy Cube":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyIvy.java , "Rex Cube":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyRex.java , "Kilominx and Master Kilominx":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyKilominx.java , "Megaminx and Gigaminx":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyMegaminx.java , "Fused Cube":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyBandagedFused.java , "2-Bar Cube":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyBandaged2Bar.java , "Z-Cube type B":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyBandagedEvil.java , "Z-Cube type C":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyBandaged3Plate.java, "Skewb Ultimate":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/objects/TwistyUltimate.java |
40 | 57 | Distorted Admin | |
41 | |||
42 | |||
43 | 48 | Leszek Koltunski | |
44 | |||
45 | |||
46 | 3 | Distorted Admin | |
47 | 30 | Distorted Admin | |
48 | 3 | Distorted Admin | h2. How to add a new Transition Effect |
49 | |||
50 | 25 | Distorted Admin | 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":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/effects/win/WinEffect.java and add the new class to the "org.distorted.effect.WinEffect.Type":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/effects/win/WinEffect.java enum. |
51 | 15 | Distorted Admin | |
52 | 16 | Distorted Admin | The new effect will automatically become available in the "Effects dialog":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/dialogs/RubikDialogEffects.java. |
53 | 17 | Distorted Admin | |
54 | 30 | Distorted Admin | |
55 | 17 | Distorted Admin | h2. How to add a new Pretty Pattern |
56 | |||
57 | 41 | Leszek Koltunski | 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":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/patterns/RubikPatternCube3.java ) 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. |
58 | 17 | Distorted Admin | |
59 | The new list of Patterns will automatically become available in the "Patterns dialog":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/entry/src/main/java/org/distorted/dialogs/RubikDialogPattern.java. |
||
60 | 18 | Distorted Admin | |
61 | 30 | Distorted Admin | |
62 | 18 | Distorted Admin | h2. How to add a new Solver |
63 | 1 | Distorted Admin | |
64 | 31 | Distorted Admin | Work in the "org.distorted.solvers":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/show/src/main/java/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":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. |
65 | 18 | Distorted Admin | |
66 | 19 | Distorted Admin | Currently implemented solvers: "a near-perfect, instantenous Cube3 solver":https://distorted.org/redmine/projects/magic-cube/repository/magiccube/revisions/master/show/src/main/java/org/distorted/solvers/cube3. |