# Rubik's cube F2L solver



## circular (Jun 11, 2012)

Here is my lastest program. It is a Rubik's cube program that solves the first two layers using the F2L method.

You can turn the cube in 3D and move faces using F, U, L, B, D, R, with Shift and Alt. Also you can use M, E, S for slice moves, and x,y,z to rotate the cube with the keyboard.

It can be downloaded here :
http://consume.o2switch.net/rubik_f2l.zip

Here is a screenshot :


----------



## Noahaha (Jun 11, 2012)

Why not just have it do OLL PLL as well?


----------



## circular (Jun 11, 2012)

I am still wishing to do some kind of optimal OLL and optimal PLL solver. That's why I didn't go directly toward automatic application of these algorithms. But if I can't find out how to do it, well I suppose I can do some automatic recognition of cases and rotation of those algorithms.

I am also thinking about generating more fingertrick-friendly sequences, for example using Dw instead of U if it is better, etc. But I do not know yet how to do this.


----------



## circular (Jun 12, 2012)

Here is a new version :
- bug fix about orientation of additional sequences (combobox dropdown)
- solving of OLL using moves of length 8 or less


----------



## mchedlo213 (Jun 12, 2012)

nice one,already downloaded and tested,works good so far.


----------



## circular (Jun 12, 2012)

Cool


----------



## circular (Jun 13, 2012)

There is new version, where you can choose the aspect of the cube (classic, white, stickerless...)


----------



## Yuxuibbs (Jun 13, 2012)

Can it do counterclockwise turns?


----------



## circular (Jun 14, 2012)

Yes, if you use Alt key. And if you use Shift key, it turns the middle slice too.


----------



## circular (Jun 24, 2012)

New version with grip evaluation. 

As usual here:
http://consume.o2switch.net/rubik_f2l.zip

There is now a Grip button at the bottom left of the form. You can choose right-handed or left-handed.


----------



## circular (Jun 29, 2012)

I've done the optimization of sequences for grip (by adding rotations and using double moves instead of simple moves).

The scrambe can also be grip-optimized.

Here is an example :

B2 L2 B' R' B' U' L2 R2 D' B2 L2 F' B' L2 U D' B' R L2 U D R2 L' F2 L'

is optimised in :

y R2 x' U2 R' u' f' U' r2 R2' U' F2 r2 F' f' u2 R r' u' R r2' F f y z' R2 r' U2 r'

The F2L solver finds (for the bottom cross) :

B D F2 R' F D / U2 B' U' B / U2 R' U2 R / U2 F R U2 R' U2 F' / U F' U' F U' R U R' (29f)

with grip optimization, it finds instead :

f r U2 z2 x' u' r D / U2 R' U' R / U2 x' u' R2 D / R2' F D R2 u' y' r2' F' / r U' r' F z U' R U R' (29f)

The OLL solver finds

z U R b U' F' r' / r U' R' U x r' U' R (11f)

We get a J-perm

U'

Solver finds
L2 D L D' L B2 R' U R B2(3572 ms)

Optimized in

r2' d F U' y r U2 R' F R U2 x

Moves weights may not be very good for now and may need some adjustments.


----------



## granada (Jul 14, 2012)

Which language you used?

Looks great, btw.


----------



## circular (Aug 4, 2012)

It's done in Pascal (using Lazarus).

Thanks.


----------

