# 6x6x6 L2C scrambler



## xyzzy (Oct 6, 2017)

Want to practise your 6×6×6 last two centres (say, because you're learning a bunch of L2C algs) without having to solve the first four centres every time? Here's a scrambler for you!

The only most useful feature here is allowing for custom "templates": pieces can be forced to be of either the U colour or the F colour, so you can generate scrambles with specific patterns. For instance, if you want a checkerboard pattern on the front face, click on the little squares in the template editor to get a checkerboard pattern, then hit the generate button:






You can also use the template editor to set a specific L2C scenario, and then hit the "generate" button to get moves to generate it… or use the inverse of these moves to solve that scenario. This _currently_ doesn't generate nice algs by default. (There's a choose_nice_algs function if you dig into the code, but it needs some tweaking.)

Recommended usage: choose a template (or don't—the blank template also works), hit the "generate 100" button, and copy the hundred scrambles to csTimer.

The to-do list, aka known issues:

It's sometimes very slow for anything other than the last bar presets. (fixed in 0.3)
If it happens to get a skip, it'll print a blank entry. Not a bug _per se_, and you should be aware that this happens with probability 1/375 for the last bar presets.
It'll always print the same scramble sequence for the same scramble.
Move sequences generated often involve unnecessary rotations. (fixed in 0.2)
The template editor doesn't warn if you have unsatisfiable constraints.
Integrate alg-generating functionality into the "GUI".
The "clear" button does nothing. (fixed in 0.3)

Only one template can be selected, instead of randomly choosing among a few selected templates.
Throw in a timer so I can call this a "trainer" instead of just a "scramble generator".
Also throw in a simulator, I guess.

_derp_



Spoiler: non-issues




It will not work on IE 11 or earlier as the code uses a few modern JavaScript features (for-of, generators, arrow funcs, etc.). Please upgrade to Edge, if you absolutely must stick to using a Microsoft browser.
It probably doesn't work on very old iPhones/iPads/iWhatevers for the same reason. Upgrade your phone or use a desktop/laptop.
You can run 666l2c.js standalone in a SpiderMonkey shell, if you prefer a super-lightweight interface over my badly cobbled together HTML. While the solving functions will also work with Node.js (they're written in vanilla JS), the printing functions rely on SpiderMonkey built-ins and probably don't work with Node.js.


----------



## xyzzy (Oct 13, 2017)

Another screenshot featuring what you could do with the template editor:




This sets up to a "T" shape where you _can't_ immediately convert it to a 2×4 block. The T trick is useful, but sometimes (~3%) you get cases like this where the trick fails, and you wouldn't want to waste time thinking about what you should do when this happens.

Anyway, new version is live at the same URL, and it's an order of magnitude faster. Also has a few other minor fixes. If you have any feature requests, feel free to let me know.


----------



## I_<3_SCS (Oct 13, 2017)

Great work, m'boy.


----------

