Esempio n. 1
0
        private void Down(RubikCommand rubikCommand)
        {
            List <(int fromLayer, int fromNum, int toLayer, int toNum)> listRotate = new List <(int fromLayer, int fromNum, int toLayer, int toNum)>();

            listRotate.Add((2, 6, 3, 6));
            listRotate.Add((2, 7, 3, 7));
            listRotate.Add((2, 8, 3, 8));

            listRotate.Add((2, 6, 4, 6));
            listRotate.Add((2, 7, 4, 7));
            listRotate.Add((2, 8, 4, 8));

            listRotate.Add((2, 6, 1, 6));
            listRotate.Add((2, 7, 1, 7));
            listRotate.Add((2, 8, 1, 8));

            listRotate.AddRange(GetFaceRotateList(5));

            RotateFace(listRotate, rubikCommand.reverse);
        }
Esempio n. 2
0
        private void Left(RubikCommand rubikCommand)
        {
            List <(int fromLayer, int fromNum, int toLayer, int toNum)> listRotate = new List <(int fromLayer, int fromNum, int toLayer, int toNum)>();

            listRotate.Add((0, 0, 2, 0));
            listRotate.Add((0, 3, 2, 3));
            listRotate.Add((0, 6, 2, 6));

            listRotate.Add((0, 0, 5, 0));
            listRotate.Add((0, 3, 5, 3));
            listRotate.Add((0, 6, 5, 6));

            listRotate.Add((0, 0, 4, 8));
            listRotate.Add((0, 3, 4, 5));
            listRotate.Add((0, 6, 4, 2));

            listRotate.AddRange(GetFaceRotateList(1));

            RotateFace(listRotate, rubikCommand.reverse);
        }
Esempio n. 3
0
        private void Back(RubikCommand rubikCommand)
        {
            List <(int fromLayer, int fromNum, int toLayer, int toNum)> listRotate = new List <(int fromLayer, int fromNum, int toLayer, int toNum)>();

            listRotate.Add((0, 2, 1, 0));
            listRotate.Add((0, 2, 5, 6));
            listRotate.Add((0, 2, 3, 8));

            listRotate.Add((0, 1, 1, 3));
            listRotate.Add((0, 1, 5, 7));
            listRotate.Add((0, 1, 3, 5));

            listRotate.Add((0, 0, 1, 6));
            listRotate.Add((0, 0, 5, 8));
            listRotate.Add((0, 0, 3, 2));

            listRotate.AddRange(GetFaceRotateList(4));

            RotateFace(listRotate, rubikCommand.reverse);
        }
Esempio n. 4
0
        private void Right(RubikCommand rubikCommand)
        {
            List <(int fromLayer, int fromNum, int toLayer, int toNum)> listRotate = new List <(int fromLayer, int fromNum, int toLayer, int toNum)>();

            listRotate.Add((0, 8, 4, 0));
            listRotate.Add((0, 5, 4, 3));
            listRotate.Add((0, 2, 4, 6));

            listRotate.Add((0, 8, 5, 8));
            listRotate.Add((0, 5, 5, 5));
            listRotate.Add((0, 2, 5, 2));

            listRotate.Add((0, 8, 2, 8));
            listRotate.Add((0, 5, 2, 5));
            listRotate.Add((0, 2, 2, 2));

            listRotate.AddRange(GetFaceRotateList(3));

            RotateFace(listRotate, rubikCommand.reverse);
        }
Esempio n. 5
0
        private void Up(RubikCommand rubikCommand)
        {
            List <(int fromLayer, int fromNum, int toLayer, int toNum)> listRotate = new List <(int fromLayer, int fromNum, int toLayer, int toNum)>();

            listRotate.Add((4, 2, 3, 2));
            listRotate.Add((4, 1, 3, 1));
            listRotate.Add((4, 0, 3, 0));

            listRotate.Add((4, 2, 2, 2));
            listRotate.Add((4, 1, 2, 1));
            listRotate.Add((4, 0, 2, 0));

            listRotate.Add((4, 2, 1, 2));
            listRotate.Add((4, 1, 1, 1));
            listRotate.Add((4, 0, 1, 0));

            listRotate.AddRange(GetFaceRotateList(0));

            RotateFace(listRotate, rubikCommand.reverse);
        }
Esempio n. 6
0
        private void Front(RubikCommand rubikCommand)
        {
            List <(int fromLayer, int fromNum, int toLayer, int toNum)> listRotate = new List <(int fromLayer, int fromNum, int toLayer, int toNum)>();

            listRotate.Add((0, 6, 3, 0));
            listRotate.Add((0, 7, 3, 3));
            listRotate.Add((0, 8, 3, 6));

            listRotate.Add((0, 6, 5, 2));
            listRotate.Add((0, 7, 5, 1));
            listRotate.Add((0, 8, 5, 0));

            listRotate.Add((0, 6, 1, 8));
            listRotate.Add((0, 7, 1, 5));
            listRotate.Add((0, 8, 1, 2));

            listRotate.AddRange(GetFaceRotateList(2));

            RotateFace(listRotate, rubikCommand.reverse);
        }