Esempio n. 1
0
 public LinkedList <Twist> search(Cube cube)
 {
     cube = cube.Clone(cloneTwists: false);
     for (int phase = 1; phase <= 3; phase++)
     {
         System.Console.WriteLine(string.Format(" Solve stage {0} ", phase));
         LinkedList <Twist> twists = IDASearch.search(new Node(cube.EdgePosition,
                                                               cube.CenterPosition,
                                                               phase,
                                                               null), 20);
         cube.twist(twists);
     }
     return(cube.Twists);
 }
Esempio n. 2
0
 public LinkedList <Twist> search(Cube cube)
 {
     cube            = cube.Clone(cloneTwists: false);
     BFSearch.goalID = new Node(Cube.OriginalCube.EdgePosition,
                                Cube.OriginalCube.EdgeOrientation, Cube.OriginalCube.CenterPosition, 0, null).getID();
     for (int stage = 1; stage <= 3; stage++)
     {
         Node node = new Node(cube.EdgePosition,
                              cube.EdgeOrientation, cube.CenterPosition, stage, null);
         LinkedList <Twist> twists =
             stage == 1 ?
             BFSearch.search(node) :
             IDASearch.search(node, 20);
         cube.twist(twists);
     }
     return(cube.Twists);
 }