示例#1
0
 public bool Equals(Cube cube)
 {
     return(
         LeftFace.Equals(cube.LeftFace) &&
         RightFace.Equals(cube.RightFace) &&
         FrontFace.Equals(cube.FrontFace) &&
         RearFace.Equals(cube.RearFace) &&
         UpperFace.Equals(cube.UpperFace) &&
         BottomFace.Equals(cube.BottomFace)
         );
 }
示例#2
0
 public Cube Copy()
 {
     return(new Cube
     {
         LeftFace = LeftFace.Copy(),
         RightFace = RightFace.Copy(),
         FrontFace = FrontFace.Copy(),
         RearFace = RearFace.Copy(),
         UpperFace = UpperFace.Copy(),
         BottomFace = BottomFace.Copy()
     });
 }
示例#3
0
        private void Validate()
        {
            RubixCubeFaceValidationResult validation = new RubixCubeFaceValidationResult();

            FrontFace.Validate(validation);
            TopFace.Validate(validation);
            LeftFace.Validate(validation);
            RightFace.Validate(validation);
            BottomFace.Validate(validation);
            BackFace.Validate(validation);
            ValidateIdenticalCubes(validation);
            validation.FinishValidation();
        }
示例#4
0
        public void RotateBottomFaceToFrontFace()
        {
            RubixCubeFrontFace  newFrontFace  = BottomFace.MoveToFront();
            RubixCubeTopFace    newTopFace    = FrontFace.MoveToTop();
            RubixCubeLeftFace   newLeftFace   = LeftFace.RotateClockwise();
            RubixCubeRightFace  newRightFace  = RightFace.RotateClockwise();
            RubixCubeBottomFace newBottomFace = BackFace.MoveToBottom();
            RubixCubeBackFace   newBackFace   = TopFace.MoveToBack();

            FrontFace  = newFrontFace;
            TopFace    = newTopFace;
            LeftFace   = newLeftFace;
            RightFace  = newRightFace;
            BottomFace = newBottomFace;
            BackFace   = newBackFace;
            Validate();
        }
示例#5
0
 public void RotateRightFaceAnticlockwise()
 {
     RotateRightFace(RightFace.RotateAnticlockwise());
 }
示例#6
0
 public void RotateRightFaceClockwise()
 {
     RotateRightFace(RightFace.RotateClockwise());
 }