# Need help with scrambles



## Kenneth (Aug 17, 2008)

We are running a small on-line competiton as a warm up before SOC 2008 at SveKub. This week we are planning to do 6x6x6 and you know the problem with the scrambles = [sub] does not work in the forum.

So I got this idéa (had it before but...) A scramble generator for big cubes that is a bit diffrent from the usual ones.

A turn is notated like: ... slice, slice, slice - axis

axis may be X, Y, or Z (or R, U or F)
slice is a random number 0, 1, 2, 3 where 0 = no turn for the slice, 1 = clockwise turn the slice, 2 = half turn and 3 counter clockwise.

Here is a example scramble for 6x6x6 that has got "4" turns:

230132-X 312023-Z 120320-X 302101-Y (orient Y/Z to where X normally is before you turn those sides and it is easy to do)

It's really effective scrambling, I don't think a 6x needs more then like 30-40 "turns" (posts?) maybe even lesser.

Can someone create a scrambler like that in php (my java does not work) before the end of the day? it is not much work, like an hour or so.

HELP!


----------



## Johannes91 (Aug 17, 2008)

Kenneth said:


> Can someone create a scrambler like that in php (my java does not work) before the end of the day?


Would JavaScript be ok? Does it need to show the final state or just generate the scrambles?


----------



## Kenneth (Aug 17, 2008)

Johannes91 said:


> Kenneth said:
> 
> 
> > Can someone create a scrambler like that in php (my java does not work) before the end of the day?
> ...



script links does not work but I think pages does. It only have to print the texts.

I have only got Q-BASIC as a programming tool installed so I wrote this quick hack (5 minutes):


```
CLS
RANDOMIZE TIMER
turns% = 25
cube% = 6
axis% = 0
ax$(0) = " - X": ax$(1) = " - Y": ax$(2) = " - Z"
FOR n% = 1 TO turns%
  axis% = (1 + axis% + INT(RND * 2)) MOD 3
  turn$ = ""
  FOR nn% = 1 TO cube%
    turn$ = turn$ + CHR$(48 + INT(RND * 4))
  NEXT nn%
  turn$ = turn$ + ax$(axis%)
  PRINT turn$,
NEXT n%
```

But it is not really internet friendly 

To make it a little useful I must make it to print the output to a file because I can't cut and paste from MS-DOS


----------



## Johannes91 (Aug 17, 2008)

Here's a very simple scramble generator. Save these files in the same folder, then open index.html in any decent browser and you can use the browser to print the scrambles. Let me know if you have any problems with it.

index.html

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>6x6x6 scrambler</title>
  <link rel="stylesheet" type="text/css" media="all" title="style" href="style.css" />
</head>
<body>
  <div id="all">
    <form action="" id="options">
      <span><button type="button" onclick="generate_scrambles()">Generate scrambles</button></span>
      <span>Number of scrambles:<input type="text" size="4" id="number_of_scrambles" value="5" /></span>
      <span>Scramble length:<input type="text" size="4" id="len" value="40" /></span>
    </form>
    <ul id="scrambles"><li></li></ul>
  </div>
  <script src="scrambler.js" type="text/javascript"></script>
</body>
</html>
```

style.css

```
div#all { margin: 1em; }
form#options { border: thin solid black; background-color: #05f; padding: 1em; }
form#options * { margin: 0em 1em; text-align: center; }
ul#scrambles { list-style: none; font-family: monospace; font-size: 14px; }
```

scrambler.js

```
if (!Array.prototype.map) {
    Array.prototype.map =
        function (fn) {
            var out = new Array(this.length);
            for (var i = 0; i < this.length; i++) {
                out[i] = fn(this[i]) }
            return out } }

Array.prototype.chunks =
    function (n) {
        var out = new Array(Math.ceil(this.length / n));
        for (var i = 0; i * n < this.length; i++) {
            out[i] = new Array(n);
            for (j = 0; j < n; j++) {
                out[i][j] = this[i * n + j] } }
        return out };

Array.prototype.pick =
    function () {
        return this[Math.floor(Math.random() * this.length)] };

var axes = ["U", "F", "R"];

function generate_scrambles() {
    var n = get_input("number_of_scrambles", 5);
    var len = get_input("len", 40);

    var ul = document.getElementById("scrambles");
    while (ul.childNodes.length > 0) {
        ul.removeChild(ul.firstChild) }

    for (var s = 0; s < n; s++) {
        var turns = get_scramble(6, len);

        var pre = document.createElement("pre");
        pre.appendChild(document.createTextNode((s + 1) + ".\n" + turns.chunks(8).map(function (xs) { return xs.join(" ") }).join("\n")));
        var li = document.createElement("li");
        li.appendChild(pre);
        ul.appendChild(li) } }

function get_scramble(N, len) {
    var numbers = new Array(len);
    for (var i = 0; i < len; i++) {
        numbers[i] = new Array(N);
        for (var j = 0; j < N; j++) {
            numbers[i][j] = Math.floor(Math.random() * 4) } }

    var xs = new Array(len);
    xs[0] = axes.pick();

    for (var i = 1; i < len; i++) {
        var temp;
        do { temp = axes.pick() } while (temp == xs[i - 1]);
        xs[i] = temp }

    var turns = new Array(len);
    for (var i = 0; i < len; i++) {
        turns[i] = numbers[i].join("") + "-" + xs[i] }

    return turns }

function get_input(arg, default_value) {
    var input = document.getElementById(arg);
    var out = parseInt(input.value);

    if (isNaN(out) || out < 0) {
        input.style.backgroundColor = "red";
        setTimeout(function () {
                       input.style.backgroundColor = "white";
                       input.value = default_value },
                   500);
        out = default_value }
    else {
        input.value = out }

    return out }
```


----------



## Kenneth (Aug 17, 2008)

Ok, thank's Johannes, I see if I get it to work 

Else I got my own working now, here is my first scramble: (6x6x6 25 posts)

110200 - Y 213300 - Z 131022 - X 101222 - Z 131103 - X 321110 - Y 200120 - Z 103232 - X 201321 - Y 212101 - X 020030 - Z 310130 - X 001232 - Z 122121 - Y 113022 - X 012300 - Z 002313 - X 012123 - Z 313021 - Y 033001 - Z 011110 - X 212130 - Y 321322 - X 213133 - Y 002322 - X

Hmm... I must remove some spaces, that's hard to read.

EDIT: here is the "final" version (1.0) of my hack:


```
CLS
RANDOMIZE TIMER
INPUT "Cube size"; cube%
INPUT "Scramble length"; turns%
INPUT "Number of scrambles"; num%
OPEN "scramble.txt" FOR OUTPUT AS #1
ax$(0) = "-X  ": ax$(1) = "-Y  ": ax$(2) = "-Z  "
FOR n% = 1 TO num%
  scramble$ = ""
  FOR nn% = 1 TO turns%
    axis% = (1 + axis% + INT(RND * 2)) MOD 3
    turn$ = ""
    FOR nnn% = 1 TO cube%
      turn$ = turn$ + CHR$(48 + INT(RND * 4))
    NEXT nnn%
    turn$ = turn$ + ax$(axis%)
    scramble$ = scramble$ + turn$
  NEXT nn%
  PRINT #1, n%; ": "; scramble$
  PRINT #1, CHR$(13)
NEXT n%
END
```

The output is a little ugly but it works 

Sorry for calling for help when I was able to solve it myself but I was not thinking of Q-BASIC at first (and I promised myself to newer write another program again some years ago, otherwise I got a C++ I can install somewhere =)


----------



## Kenneth (Aug 17, 2008)

Really really effective, it looks like 15 posts are enough to scramble a 6x6x6. 30-40 as I wrote first is crazy many 

My suggestion is that we use this for big cube scrambling (after testing it of course, but I can't see any problems), at least for the bigger ones like 6x and 7x and I propose a number of 25 posts for 7x and for 6x 20 posts. It seems more than enough.

Edit: found it sometimes outputs strings like 111111-X, must have a filter for those if one makes a more serious scrambler than mine. Tried it on 3x3 and found it seems more effective if the middle slices are not affected so I think this format is the best for uneven cubes "left slices"."right slices" - "axis". A 3x3x3 scramble then looks like this 3.1-X 0.2-Y 2.2-Z in normal notation that gives L R U2 F2 B2. For a 7x a post can look like this: 032.011-Z

Well, enough of experiments, now I will try Johannes scrambler.


----------



## Kenneth (Aug 17, 2008)

Johannes, it works fine


----------



## Kenneth (Aug 17, 2008)

I used Johannes version for our comp at SveKub. I set it to lenght 20 and I have now done all three scrambles (we do 6x6x6 mean of three). I examined the scrambles before my attempts and I fond just a few 2-piece blocks (not counting centres, you can scramble for hours and still have big blocks of centres) it was not more of them than you can expect from randomly placing the pieces into the cube, it was like 2-3 per scramble. (a 2-pice block is in this case 2 edges, 2 edges with a gap or the same for edge corner pairs).

The times I got was normal and my mean o'3 was 9:03.xx (8:23 8:46 9:59)

20 posts for 6x6x6 seems to work fine. I also used my version that generates for any size and did 4x4x4 lenght 15 and that was also fine scrambling so I tried 5x5x5 using a 4x4x4 scramble of 18 posts and did not turn the middle slices, it was also fine 

lol, I set it to size 1, length 1 and got this scrable:

1: 1-Z

Is it the first scramble generator that generates for 1x1x1?

Is that scramble lucky?


----------



## Mike Hughey (Aug 18, 2008)

FWIW - when hand-scrambling (not generated scrambles), I have always used this method to scramble anything bigger than a 3x3x3. I have always found that 25 "posts" (as Kenneth is calling it) is plenty to guarantee what at least appears to be a really good scramble by hand, for any size cube. I've never really tried less, though.

I really don't understand why 7x7x7 would need more than a 6x6x6. As the size goes up, you get the compensation of more turns per "post". If I were to suddenly receive an 11x11x11, my first hand-scramble would probably have been 25 of these "posts" again, and I would really anticipate that it would be nicely scrambled. But I must admit that my opinion is just a feeling which could be very wrong.


----------



## Kenneth (Aug 18, 2008)

Na, I'm in the same thoughts, a pice can newer have more than 24 positions no matter size of cube. To reach all combinations for corners there are at the max 11 turns (HTM) and I'm pretty sure the number is in the range 10-15 for any pice group on any cube. you just need to add a few turns per size incremention because there are more layers to scramble but that's all.

Was "post" a good word? I can't use "turn", there are several in each post, maybe there is something better that I did not think of?


----------



## Mike Hughey (Aug 18, 2008)

I didn't have a better word. I didn't understand where you came up with "post" (maybe you could explain how you came up with the term), but it was convenient to have a name, so I went with it. I really can't think of an obvious good name right now. (Coming up with good names is always a challenge.)

The reason I think I go with so many as 25 is because it's a hand scramble, so often I don't do such a good job. 25 pretty much overcomes that problem.


----------



## Kenneth (Aug 18, 2008)

When reading the scramble there is one "post" for each group of turns around the same axis.

The term is often used for lists of data.


----------



## Mike Hughey (Aug 18, 2008)

Well, that name sounds reasonable, then.


----------



## Kenneth (Aug 20, 2008)

MASS multislice axis shift scrambling.

This how you do it: (I improved it)

For 5x5 and other uneven cubes it is not needed to turn the middle slices, we can do the same for even cubes too!

At first I tried this for 4x4x4 .123-R = removing the leftmost digit from the post of four digits. Then I started to do the scrambling like leftmost digit = turn three layers, second = turn two layers and third only the R-face.

This made scrambling much faster but when I got to 6x6 then the leftmost digit is 5 layers and that's not so easy turning so I changed from .12345-R to 12.345-R instead and then the two leftmost are L and Lw turns (but rotated in the same direction as R), the other are 3R, Rw and R and scrambling like that made it fast and easy to do. So then I also change to 1.23-R for 4x4 to keep a standard 

2x2 .1-R (only RUF needed)
3x3 = 1.2-R
4x4 = 1.23-R
5x5 = 12.34-R
6x6 = 12.345-R
7x7 = 123.456-R
...

I will now test how effectiove scrambling it give by converting 1.2-R scrambles for 3x3 to RFLBUD scrambles and run them in cubeX setting my generator to diffrent number of posts to see how many that is needed to reach 18/19 turn solutions for most scrambles.

I don't think I have to go so high I reach the Hug(h)e(y) constant = 25


----------



## Mike Hughey (Aug 20, 2008)

Kenneth said:


> I don't think I have to go so high I reach the Hug(h)e(y) constant = 25



LOL!

I think that sounds very reasonable and nice. I'm looking forward to seeing your numbers for the 3x3x3.


----------



## Kenneth (Aug 21, 2008)

16 posts - for any size!

14 gives most of the times 18-19 turn solutions from the non optimal solver in CubeX, 16 posts gives almost only 19 turn solves.

A slice adds up 0.75 turns (3/4 = R/R'/R2 or no turn) so two slices gives 1.5 turns/post on average and so on (not really because null-posts are forbidden, the true number for 3x3 is 23/15=1.5333... but about 1.5 it is)

16 posts * 1.5 turns gives 24 turns on average for a 3x3x3 and then each extra slice adds upp 12 turns on average giving:

2x2 16 (12 but no null-posts gives 16)
3x3 24
4x4 36
5x5 48
6x6 60
7x7 72
...

Here is the last run I did, ten 1.2 scrambles of 16 posts each converted to R/F/L... and after that the generators cubeX gave me. (I did like 10-15 runs of 10 each time and most gave 19 so this is typical =)


```
U' D' B R2 F B2 R U2 D' R D2 R2 D2 R' F2 B2 D' F2 D2 F2 B2 (21)
D2 R F' B2 L' R U' D2 B' L' R2 U2 D2 F B' U2 D' L' R' U' D R' D L' R' F2 B' (27)
L2 R' F2 B' L' R' U2 D' L' R' U' D' B L' R F2 B L2 R' F' U' D' B U' D R2 U2 D' (28)
L' R F B2 D F' R F' B' D L2 R' D R' U' D' F' B2 D R2 F' B' L' R2 (24)
U2 D R' U2 D2 L' R' U' D L' R F2 D' B' L2 R' D2 F' B U2 D F' B D' F' B (26)
U' D' B' R' F' D' L2 R2 U2 D R2 F' B U2 D L' R' D2 B' L' R' F B' U' D (25)
R' D' F2 B D F R' U2 D F2 U2 D F' B' U' D' R2 B' R D B2 (21)
D L' R' F B' R U' D2 L2 R F B' D' B U' D' B' L2 R F' B D' F2 U' D (25)
R2 F' B L' R F' U2 D2 F' D2 B' U2 D' B U' D' R F B' U2 D2 R D' (23)
B' U' D B L2 R' B D' R2 F B2 U2 D2 L2 R' U' D' F' U2 D L2 R2 D' R2 (24)

B2 U' B2 D2 U' R F' R' B' U F2 R' D R' B U L2 U2 F'  (19f) 
D2 B2 D' U2 F2 L2 F D2 B R2 U R D B L U2 B D2 U2  (19f) 
R2 U2 B2 L2 D' B2 R' D' F' L B2 D' B' L2 U' L2 D2 F2 R  (19f) 
F2 L U2 B2 L B2 L D' R U' B' R' B2 D' L2 B2 F' R U2  (19f) 
F2 D2 F' R2 F2 L2 D2 L2 U2 R B D2 R B2 R' F U' L R'  (19f) 
U2 R2 U2 F D2 L2 R' F2 U' L F D L2 F' D2 L2 B2 D' R'  (19f) 
D L2 B2 U' R2 D2 U' B2 D L' F D2 L R' F R' F L R  (19f) 
D' B2 R2 B2 D L' R2 F L B2 U F' R D' L2 F' U L R  (19f) 
U' R2 U F2 D L2 D B2 F2 U L2 R' B' R2 U2 L2 B2 L2 B  (19f) 
L F2 L2 F2 L U2 L U' R D' F' L' D2 B F' L2 R D' U2  (19f)
```


----------



## Kenneth (Aug 21, 2008)

Wanna try it?

Here are 12 scrambles, do an average and see if it is normal or not:

Cuber A handing cuber B a 4x4x4 _"Will you mass it up for me please?"_ 

MASS-gen v1.2 Size: 4 X 4 X 4 length: 16 

3.00-U	2.21-F	1.23-R	0.10-F	0.10-U	0.02-R	3.31-F	0.23-R	3.13-F	2.12-R	0.10-U	0.31-R	1.02-U	3.13-R	2.13-U	2.02-F	

3.31-U	2.32-R	0.10-F	3.23-R	2.30-U	2.32-R	2.02-F	2.20-R	0.10-F	1.22-U	3.30-R	2.22-F	3.32-R	2.03-F	0.32-U	1.23-R	

0.32-F	2.10-R	1.03-F	3.32-U	3.30-F	3.13-U	1.00-R	3.02-F	2.20-R	1.31-F	0.21-R	1.20-U	1.31-R	0.11-U	3.23-R	2.01-U	

3.13-R	0.22-U	1.13-R	3.02-F	0.03-R	0.21-F	2.00-U	3.01-R	3.01-U	0.12-F	1.31-R	1.22-F	3.12-R	2.00-U	0.13-F	3.31-R	

2.23-F	1.13-U	2.10-R	3.21-U	3.20-F	2.02-R	0.33-U	3.00-R	0.21-U	0.23-R	2.03-F	3.33-R	3.22-U	0.33-F	3.03-R	3.12-U	

0.33-F	3.21-R	2.23-U	2.20-F	3.33-R	0.23-U	0.02-F	0.03-U	0.03-R	0.02-U	2.21-R	0.21-U	1.10-R	2.23-F	3.33-R	0.33-F	

1.01-R	2.03-F	2.32-U	0.12-F	1.22-R	2.03-U	0.33-R	1.22-F	0.02-U	0.12-R	1.02-U	3.20-F	3.31-R	0.11-U	0.03-R	3.10-F	

2.22-U	2.31-R	3.01-F	0.12-R	0.03-U	0.32-R	3.22-F	1.32-U	3.02-R	3.30-U	3.32-R	1.13-F	2.32-R	3.23-U	1.22-R	0.23-U	

3.13-R	1.21-F	2.21-R	1.13-F	2.11-U	1.01-F	3.11-R	1.10-U	1.12-R	1.23-U	0.33-R	2.23-F	0.02-U	1.22-F	0.33-R	2.33-U	

1.10-R	1.00-U	0.02-R	2.31-F	1.23-R	2.12-F	1.32-R	3.21-U	0.32-F	1.01-R	0.12-U	3.12-R	3.13-F	0.20-U	0.10-R	0.23-U	

1.21-R	2.22-U	3.30-F	1.00-R	1.01-F	2.03-R	3.10-F	0.03-R	1.31-U	2.12-R	3.02-U	1.22-R	2.32-F	1.22-R	0.33-U	0.20-R	

0.20-F	0.11-R	2.31-F	0.21-U	1.10-F	0.01-U	1.00-R	1.32-F	0.23-U	3.33-R	0.03-F	1.12-R	1.00-U	2.22-F	3.33-R	0.13-F

BTW: here is my updated code


```
CLS
RANDOMIZE TIMER
INPUT "Cube size"; cube%
INPUT "Scramble length"; turns%
INPUT "Number of scrambles"; num%
hc% = INT(cube% / 2 + .5)
OPEN "scramble.txt" FOR OUTPUT AS #1
PRINT #1, "MASS-gen v1.2   Size:"; cube%; "X"; cube%; "X"; cube%; "length:"; turns%
ax$(0) = "-R": ax$(1) = "-U": ax$(2) = "-F"
FOR n% = 1 TO num%
  scramble$ = ""
  PRINT #1, ""
  FOR nn% = 1 TO turns%
    axis% = (1 + axis% + INT(RND * 2)) MOD 3
    cs% = 0 ' checksum to test for null-posts
    DO UNTIL cs% > 0
      turn$ = ""
      cs% = 0
      FOR nnn% = 1 TO cube%
        IF nnn% = hc% THEN
          turn$ = turn$ + CHR$(46)
        ELSE
          turn% = INT(RND * 4)
          IF turn% THEN cs% = cs% + 1
          turn$ = turn$ + CHR$(48 + turn%)
        END IF
      NEXT nnn%
    LOOP
    turn$ = turn$ + ax$(axis%) + CHR$(9)
    scramble$ = scramble$ + turn$
  NEXT nn%
  PRINT #1, scramble$
NEXT n%
END
```

Edit:

I did this:

MASS-gen v1.2 Size: 7 X 7 X 7 length: 16 

201.003-F	313.013-R	002.232-F	232.110-R	222.022-F	101.123-U	000.231-F	202.312-R	011.023-F	103.113-U	333.203-F	200.322-R	221.202-U	011.130-F	033.031-R	002.313-F

Now it looks really massy 

Not many blocks of centers, just a few edge pairs or pairs with gaps...

Got 15:13.03 ... pretty normal, I was a little faster a while but have not done 7x7x7 for about two weeks now.


----------



## AvGalen (Aug 21, 2008)

I took the lazy approach for the weekly competition. If you take the official scrambler and you add this code you get all scrambles in a nice format (except 3x3x3)


```
<h1>Weekly competition</h1>
<textarea name="output" cols="1000" rows="1000"></textarea>
<script language="JavaScript1.1" type="text/javascript">
<!--
function Generate_HTML_For_Regular_Event(Event_Name, Event_Info, Event_Cube_Size, Event_Cube_Amount)
{
 size = Event_Cube_Size;
 if (size <= 3)
 {
  seqlen = 25;
  mult = false;
 }
 else
 {
  seqlen = (size - 2) * 20;
  mult = true;
 }
 numcub = Event_Cube_Amount;
 cubeorient = false;
 colorString = "yobwrg";
 output.value = output.value + "[B]" + Event_Name + "[/B]" + Event_Info + "\n";
 for (var i = 0; i < numcub; i++)
 {
  // For some events no actual scrambles should be provided in that case a CubeSize of 0 should be supplied.
  // For 3x3x3 events no actual scrambles should be provided because Cube Explorer should supply them
  if (size == 0 || size == 3)
  {
   output.value = output.value + "[B]" + (i + 1) + ". [/B]" + '' + "\n";
  }
  else
  {
   scramble();
   output.value = output.value + "[B]" + (i + 1) + ". [/B]" + Replace_Subscript(scramblestring(i)) + "\n";
  }
 }
 output.value = output.value + "\n\n";
}
function Generate_HTML_For_Relay_Event(Event_Name, Event_Info, Event_Cube_Begin_Size, Event_Cube_End_Size)
{
 output.value = output.value + "[B]" + Event_Name + "[/B]" + Event_Info + "\n";
 for (var h = Event_Cube_Begin_Size; h <= Event_Cube_End_Size; h++)
 {
  size = h;
  if (size <= 3)
  {
   seqlen = 25;
   mult = false;
  }
  else
  {
   seqlen = (size - 2) * 20;
   mult = true;
  }
  numcub = 1;
  cubeorient = false;
  colorString = "yobwrg";
 
  for (var i = 0; i < numcub; i++)
  {
   // For some events no actual scrambles should be provided in that case a CubeSize of 0 should be supplied.
   // For 3x3x3 events no actual scrambles should be provided because Cube Explorer should supply them
   if (size == 0 || size == 3)
   {
    output.value = output.value + "[B]" + h + ". [/B]" + '' + "\n";
   }
   else
   {
    scramble();
    output.value = output.value + "[B]" + h + ". [/B]" + Replace_Subscript(scramblestring(i)) + "\n";
   }
  }
 }
 output.value = output.value + "\n\n";
}
function Replace_Subscript(HTML_With_Subscript)
{
 HTML_With_Subscript = HTML_With_Subscript.replace(/R<sub>2<\/sub>/g, "2R");
 HTML_With_Subscript = HTML_With_Subscript.replace(/U<sub>2<\/sub>/g, "2U");
 HTML_With_Subscript = HTML_With_Subscript.replace(/F<sub>2<\/sub>/g, "2F");
 HTML_With_Subscript = HTML_With_Subscript.replace(/L<sub>2<\/sub>/g, "2L");
 HTML_With_Subscript = HTML_With_Subscript.replace(/D<sub>2<\/sub>/g, "2D");
 HTML_With_Subscript = HTML_With_Subscript.replace(/B<sub>2<\/sub>/g, "2B");
 HTML_With_Subscript = HTML_With_Subscript.replace(/R<sub>3<\/sub>/g, "3R");
 HTML_With_Subscript = HTML_With_Subscript.replace(/U<sub>3<\/sub>/g, "3U");
 HTML_With_Subscript = HTML_With_Subscript.replace(/F<sub>3<\/sub>/g, "3F");
 HTML_With_Subscript = HTML_With_Subscript.replace(/L<sub>3<\/sub>/g, "3L");
 HTML_With_Subscript = HTML_With_Subscript.replace(/D<sub>3<\/sub>/g, "3D");
 HTML_With_Subscript = HTML_With_Subscript.replace(/B<sub>3<\/sub>/g, "3B");
 return HTML_With_Subscript;
}
Generate_HTML_For_Regular_Event("2x2x2", "", 2, 5)
Generate_HTML_For_Regular_Event("3x3x3", "", 3, 5)
Generate_HTML_For_Regular_Event("4x4x4", "", 4, 5)
Generate_HTML_For_Regular_Event("5x5x5", "", 5, 5)
Generate_HTML_For_Regular_Event("6x6x6", "", 6, 5)
Generate_HTML_For_Regular_Event("7x7x7", "", 7, 5)
Generate_HTML_For_Regular_Event("2x2x2 Blindfolded", "", 2, 3)
Generate_HTML_For_Regular_Event("3x3x3 Blindfolded", "", 3, 3)
Generate_HTML_For_Regular_Event("4x4x4 Blindfolded", "", 4, 3)
Generate_HTML_For_Regular_Event("5x5x5 Blindfolded", "", 5, 3)
Generate_HTML_For_Regular_Event("6x6x6 Blindfolded", " You don't have to do all 3 scrambles!", 6, 3)
Generate_HTML_For_Regular_Event("7x7x7 Blindfolded", " You don't have to do all 3 scrambles!", 7, 3)
Generate_HTML_For_Regular_Event("3x3x3 Multiple Blindfolded", "", 3, 50)
Generate_HTML_For_Regular_Event("3x3x3 One Handed", "", 3, 5)
Generate_HTML_For_Regular_Event("3x3x3 With Feet", "", 3, 5)
Generate_HTML_For_Regular_Event("3x3x3 Match the scramble", "", 3, 5)
Generate_HTML_For_Regular_Event("3x3x3 Fewest Moves", "", 3, 1)
Generate_HTML_For_Regular_Event("4x4x4 Fewest Moves", " Only experimental so if you want this to become regular, start submitting your solutions", 4, 1)
Generate_HTML_For_Relay_Event("2x2x2 + 3x3x3 + 4x4x4 Relay", "", 2, 4)
Generate_HTML_For_Relay_Event("2x2x2 + 3x3x3 + 4x4x4 + 5x5x5 Relay", "", 2, 5)
Generate_HTML_For_Relay_Event("2x2x2 + 3x3x3 + 4x4x4 + 5x5x5 + 6x6x6 Relay", "", 2, 6)
Generate_HTML_For_Relay_Event("2x2x2 + 3x3x3 + 4x4x4 + 5x5x5 + 6x6x6 + 7x7x7 Relay", "", 2, 7)
Generate_HTML_For_Regular_Event("Magic", " (Just do 5 solves)", 0, 5)
Generate_HTML_For_Regular_Event("Master Magic", " (Just do 5 solves)", 0, 5)
Generate_HTML_For_Regular_Event("Snake", " (Just do 5 solves)", 0, 5)
Generate_HTML_For_Regular_Event("Clock", "", 0, 5)
Generate_HTML_For_Regular_Event("MegaMinx", "", 0, 5)
Generate_HTML_For_Regular_Event("PyraMinx", "", 0, 5)
Generate_HTML_For_Regular_Event("Square-1", "", 0, 5)
//-->
</script>
```


----------



## Mike Hughey (Aug 21, 2008)

Kenneth, after trying it, I find it very uncomfortable to apply the scrambles. It might get more efficient as you go up, with a 7x7x7 of length 16 vs. one of Arnaud's scrambles (which work fine without superscripting, etc.). And I'm sure it would get faster as you get used to it. But at first it feels much more nonintuitive than I thought it would feel.

I might try both tonight and see how fast each approach is. I think Arnaud's scrambles might prove to be faster to apply, despite being 100 moves long.


----------



## Kenneth (Aug 21, 2008)

Mike Hughey said:


> Kenneth, after trying it, I find it very uncomfortable to apply the scrambles. It might get more efficient as you go up, with a 7x7x7 of length 16 vs. one of Arnaud's scrambles (which work fine without superscripting, etc.). And I'm sure it would get faster as you get used to it. But at first it feels much more nonintuitive than I thought it would feel.
> 
> I might try both tonight and see how fast each approach is. I think Arnaud's scrambles might prove to be faster to apply, despite being 100 moves long.



Did you use multi layer turns then?

At first it was all turns single slices but I change to multi to make the turning part easier.

For this 7x post: 111.111-R you do this first xx1.xxx and you do it three layers thick, then you do x1x.xxx two layers thick, then 1xx.xxx as a single face L' after that you move to the right half and do xxx.1xx as three layers xxx.x1x as two and last the xxx.xx1 as a single R.

I hope your attempt was using single slice turns and you did not try this, it is much easier 

I think it's fast 

Arnaud, at first my problem was the sub-scripts but now I'm playing around with this, it may lead to something useful =)

BTW: I uploaded a zip containing a DOS.EXE version of my generator and it's source code, Here!


----------



## Mike Hughey (Aug 21, 2008)

Oh, I did! I missed that you had changed it to multi-layer turns. Actually as I was doing it I was thinking, "you know, this might be a lot easier with multi-layer turns".

I think I'm still thrown a little bit orienting to each axis. But I think that would get pretty automatic after just a little practice.


----------



## Kenneth (Aug 21, 2008)

Yes it does, Im almost always does that anyway to F and B turns so I was already used to it.

I just invented "Scramble to solved state"

First carefully and slowly do the inverse of the scramble to make sure you are doing it correct. Then take the time it takes to apply the scramble, if the cube is solved you did it right, else it is a DNF.

Time 1:12.53

MASS-gen v1.2 Size: 5 X 5 X 5 length: 20 

10.20-U	22.31-R	23.10-U	23.22-R	32.00-U	00.22-R	20.03-F	11.21-U	00.01-F	20.22-R	33.01-U	12.22-R	00.12-U	00.02-R	20.23-F	20.11-R	33.32-U	10.33-F	11.03-U	13.21-R	

I set it to 20 posts, that gives 60 turns on average.


----------



## Mike Hughey (Aug 21, 2008)

I DNFed my first two tries. My third try I finally got it right: 1:02.64.

I tried a regular 5x5x5 scramble (60 turns), and it took 52.33. Since I've practiced that LOTS (all those weekly competitions, you know, plus lots of averages of 10), I'd say it's likely that it's comparable.

With practice, this might become a little faster for me than normal scrambles. But I'm doubting it would be a very big improvement. It might be different with the bigger cubes, though.


----------



## Kenneth (Aug 21, 2008)

In time one starts to reconise the groups of 2-digits on the smaller ones 12.xx or xx.12, (the second appears on both 4x and 5x), there are 15 combinations possible in a 2-digit group (not counting .00) and some makes single turns (ex: xx.22 = r2, xx.31 = r')

For some turns you can choose like in 22.22, there you can do as written Lw2+L2 and Rw2+R2 or l2 and r2 or M2 and then m2.

(the order of the turns newer matter)

Some are obvious, like 00.01-U = a single U-turn, do it like that.

And so on...



Mike Hughey said:


> With practice, this might become a little faster for me than normal scrambles. But I'm doubting it would be a very big improvement. It might be different with the bigger cubes, though.



I have not tried it so much with bigger ones yet, it takes so long time to solve them again 

OK, I can inverse the scramble but that's boring.


----------

