Esempio n. 1
0
        private void DoFaceMove(CubeFace face, CubeMoveDirection direction, int i, int j)
        {
            if (face != null && i < faceMax)
            {
                var faceValue = face.GetFaceValue(i, 0);

                if (direction == CubeMoveDirection.Right)
                {
                    face.SetFaceValue(i, 0, face.GetFaceValue(faceMax, i));
                    face.SetFaceValue(faceMax, i, face.GetFaceValue(j, faceMax));
                    face.SetFaceValue(j, faceMax, face.GetFaceValue(0, j));
                    face.SetFaceValue(0, j, faceValue);
                }
                else
                {
                    face.SetFaceValue(i, 0, face.GetFaceValue(0, j));
                    face.SetFaceValue(0, j, face.GetFaceValue(j, faceMax));
                    face.SetFaceValue(j, faceMax, face.GetFaceValue(faceMax, i));
                    face.SetFaceValue(faceMax, i, faceValue);
                }
            }

            return;
        }