Download
Rubik's Cube
     Script Facility
          Manual

Links About Me Download Online Welcome

Table of contents

Purpose

The purpose of the Rubik Script Facility is to

  • have fun :)
  • create and test your own cube scripts (record, edit and play back).
  • run scripts from other people
  • analyse the state transitions caused by the scripts
  • translate different script languages

Components

The applet consists of the following components:

  • On the left you see a three dimensional model of Rubik's Cube.
    Rotate the cube by grabbing it with the mouse.
    Twist it by shift- or control-clicking it.

  • On the top you see the main controls:
    The reset button resets the position of the cube.
    The record button starts recording of cube twists.
    The stop button stops recording or playback of the script.
    The start button checks the current script and starts playback.

  • The slider on the right of the main controls is only active, when a script is checked. Use it, to browse through the script.

  • On the top right is the check button Check. Use this button to check the syntax of a script.

  • Use the language chooser language chooser to select a language of your choice.
    Note: If the script is checked, it will be translated into the selected language!

  • The text field on the bottom right of the applet describes the current state of the cube using the 'Operation-Notation' from Bandelow.

How to ...

... record a script:

  1. Clear the script field.
  2. Press the reset button .
  3. Choose a script language using the language chooser (e. g. language chooser).
  4. Press the record button. Make sure it is pressed and red: .
  5. Twist the three dimensional model of Rubik's Cube by shift- or control-clicking it.

... play back a script:

  1. Enter the script into the script field (e. g. (MR2 CU)2 MU2 ).
  2. Select the language of the script (e. g. language chooser).
  3. Press the play button .

... translate a script.

  1. Enter the script into the script field (e. g. (MR2 CU)2 MU2 ).
  2. Select the language of the script (e. g. language chooser).
  3. Press the check button Check.
  4. Select the new language of the script (e. g. ).
  5. The result should look like this: RUM NEB RUM NEB NUM

... create an impossible pattern.

  1. Enter the following script:

    MU MR' MU' MR . R' U B2 U' F' U B2 U' F R . (-dbl)

  2. Set the language of the script to Bandelow english language chooser.
  3. Press the play button .
  4. Without the last statement (-dbl) the pattern would not look right.
    The purpose of (-dbl) is to rotate the corner-part at the down-bottom-left corner of the cube counter-clockwise. Due to mechanical limitations of the cube it is impossible to rotate a single corner-part without disassembling the cube.

... create a screensaver.

  1. Enter the following script:

    (R CU)1260

  2. Set the language of the script to Bandelow english language chooser.
  3. Press the play button .
  4. The cube will by twisted 1260 times until it reaches its initial state again. If you take a look at the state field, you will notice that it takes 5040 twists to put the center cubes back to their initial state as well.

 

What script languages are supported?

Singmaster (english)

This is the simplest of all implemented script languages.
It supports only 18 different statements.

Surface layer twists:

  Right Up Front Left Down Back
90° clockwise
90° anti-clockwise  R' U' F' L' D' B'
180° clockwise R2 U2 F2 L2 D2 B2

 

Bandelow (english)

This is a very powerful script language. I did only implement a subset of Bandelow's 'Maneuver'-Language but it is still very impressive: 92 different commands (wow!).

Surface layer twists:

  Right Up Front Left Down Back
90° clockwise
90° anti-clockwise  R' U' F' L' D' B'
180° clockwise R2 U2 F2 L2 D2 B2

Mid-layer twists:

  Right Up Front Left Down Back
90° clockwise MR  MU  MF  ML  MD  MB 
90° anti-clockwise  MR' MU' MF' ML' MD' MB'
180° clockwise MR2 MU2 MF2 ML2 MD2 MB2

Rotations of the whole cube:

  Right Up Front Left Down Back
90° clockwise CR  CU  CF  CL  CD  CB 
90° anti-clockwise  CR' CU' CF' CL' CD' CB'
180° clockwise CR2 CU2 CF2 CL2 CD2 CB2

In-place rotation of the side parts:

  Right Up Front Left Down Back
90° clockwise  +r  +u  +f  +l  +d  +b
90° anti-clockwise   -r  -u  -f  -l  -d  -b
180° clockwise ++r ++r ++f ++l ++d ++b

In-place rotation of edge parts:

  +180°     +180°
up-front +uf   up-back +ub
front-left +fl   back-right +br
down-front +df   down-back +db
right-up +ru   left-up +lu
front-right +fr   back-left +bl
right-down +rd   left-down +ld

In-place rotation of corner parts:

  +90° -90°     +90° -90
up-front-left +ufl -ufl   up-back-right +ubr -ubr
down-left-front +dlf -dlf   down-right-back +drb -drb
up-right-front +urf -urf   up-left-back +ulb -ulb
down-front-right +dfr -dfr   down-back-left +dbl -dbl

Expressions:

repeat x n-times  ( x ) n
invert x ( x ) '
invert x n-times  ( x ) n '

Maybe you wonder why there are statements for in-place rotations of individual parts defined? Well, the reason is, that Bandelow describes some beautiful impossible patterns in his book 'Einführung in die Cubologie'. This patterns can only be done, when the cube is taken apart and one cube-part is put back in the wrong orientation into the cube. See how to create an impossible pattern for an example.


Bandelow (german)

Same as Bandelow (english) but uses german names for the naming of the cube sides.

Bandelow Phonetic (german)

This is a simple script language. The names used for the twists are german sillables.

Surface layer twists:

  Right Up Front Left Down Back
90° clockwise RE NE VE LE SE HE
90° anti-clockwise  RI NI VI LI SI HI
180° clockwise RU NU VU LU SU HU

Mid-layer twists:

  Right Up Front Left Down Back
90° clockwise REM NEM VEM LEM SEM HEM
90° anti-clockwise  RIM NIM VIM LIM SIM HIM
180° clockwise RUM NUM VUM LUM SUM HUM

Rotations of the whole cube:

  Right Up Front Left Down Back
90° clockwise REB NEB VEB LEB SEB HEB
90° anti-clockwise  RIB NIB VIB LIB SIB HIB
180° clockwise RUB NUB VUB LUB SUB HUB

 

Randelshofer (english)

Same as Bandelow (english) but uses minus signs '-' for inversions.

Randelshofer (german)

Same as Bandelow (german) but uses minus signs '-' for inversions.

 

 

Rubik's Cube Script Facility is not derived from, is not associated with and is not endorsed or sponsered by the owner of the RUBIK'S CUBE Trademark. This owner is Seven Towns Limited, the manufacturer and worldwide distributor of the RUBIK'S CUBE three dimensional puzzle and provider of an electronic version of the puzzle via its official web site.