Skip to content

Commit 6b9ab2c

Browse files
committed
Adicionar mais padrões pré-definidos
1 parent c3a1256 commit 6b9ab2c

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed

lib/src/cube.dart

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,34 @@ class Cube extends Equatable {
266266
static final crossTwo =
267267
Cube.from('RURUUURURFRFRRRFRFUFUFFFUFULDLDDDLDLBLBLLLBLBDBDBBBDBD');
268268

269+
/// A [Cube] from a cube-in-cube-like pattern.
270+
static final cubeInCube =
271+
Cube.from('FFFFUUFUURRURRUUUURFFRFFRRRBBBDDBDDBDDDLLDLLDLLLLBBLBB');
272+
273+
/// A [Cube] from a cube-in-cube-in-cube-like pattern.
274+
static final cubeInCubeInCube =
275+
Cube.from('RRRRUURUFURFRRFFFFUFRUFFUUULLLDDLBDLBBBLLBDLBDDDDBBDBL');
276+
277+
/// A [Cube] from a anaconda-like pattern.
278+
static final anaconda =
279+
Cube.from('FUFUUFFFFUUUURRURURRRFFRRFRBDBBDDBBBDLDDLLDDDLBLBBLLLL');
280+
281+
/// A [Cube] from a python-like pattern.
282+
static final python =
283+
Cube.from('DUDDUDDUDFFFFRRFRFRFRFFRRRRUUUDDDUUUBBBBLLBLBLBLBBLLLL');
284+
285+
/// A [Cube] from a twister-like pattern.
286+
static final twister =
287+
Cube.from('RURRUURUURRFRRFFRFUFFFFFUUULLLDDDDDLBBBLLLLLBDBDDBBDBB');
288+
289+
/// A [Cube] from a tetris-like pattern.
290+
static final tetris =
291+
Cube.from('FFBFUBFBBUDDURDUUDRLLRFLRRLBBFBDFBFFUDDULDUUDLRRLBRLLR');
292+
293+
/// A [Cube] from a chicken-feet-like pattern.
294+
static final chickenFeet =
295+
Cube.from('RRRRURRRURFFFRFFFFUUFUFUUUULLLLDLDLLBBBBLBLBBDDDDBDDDB');
296+
269297
/// A [Cube] from a four-spots pattern.
270298
static final fourSpots =
271299
Cube.from('UUUUUUUUULLLLRLLLLBBBBFBBBBDDDDDDDDDRRRRLRRRRFFFFBFFFF');

test/cubie_test.dart

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,48 @@ void main() {
560560
'R U2 F2 B2 U2 F2 B2 R L2 U F2 B2 U2 R2 L2 D F2 B2',
561561
);
562562

563+
expect(Cube.cubeInCube.verify(), CubeStatus.ok);
564+
expect(
565+
Cube.cubeInCube.solve().toString(),
566+
"U' B2 D' F' L F' L F' L D B2 U' F2 R2 U2",
567+
);
568+
569+
expect(Cube.cubeInCubeInCube.verify(), CubeStatus.ok);
570+
expect(
571+
Cube.cubeInCubeInCube.solve().toString(),
572+
"U R D B R2 F2 R L2 B2 D B' R2 D2 R2 D' L2 F2 U' B2 D' F2",
573+
);
574+
575+
expect(Cube.anaconda.verify(), CubeStatus.ok);
576+
expect(
577+
Cube.anaconda.solve().toString(),
578+
"R B U' R' U' B2 U L B L' U B2 U' B2 U' L2 U' L2 U' B2",
579+
);
580+
581+
expect(Cube.python.verify(), CubeStatus.ok);
582+
expect(
583+
Cube.python.solve().toString(),
584+
"U R U F' L2 F U' R' F2 U' F2 U L2 U' F2 D L2 D'",
585+
);
586+
587+
expect(Cube.twister.verify(), CubeStatus.ok);
588+
expect(
589+
Cube.twister.solve().toString(),
590+
"U' F2 U R' U2 R F' R2 F' U2 R2 F2 R2 U2 F2 R2 U' F2 U",
591+
);
592+
593+
expect(Cube.tetris.verify(), CubeStatus.ok);
594+
expect(
595+
Cube.tetris.solve().toString(),
596+
"U D F B R L F2 R2 F2 R2 U' D' R2 F2 L2 B2",
597+
);
598+
599+
expect(Cube.chickenFeet.verify(), CubeStatus.ok);
600+
expect(
601+
Cube.chickenFeet.solve().toString(),
602+
"R B2 U2 L' F' U D R' L' F' L2 F2 D R2 F2 U B2 D L2 U'",
603+
);
604+
563605
expect(Cube.fourSpots.verify(), CubeStatus.ok);
564606
expect(
565607
Cube.fourSpots.solve().toString(),

0 commit comments

Comments
 (0)