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) ); }
public Cube Copy() { return(new Cube { LeftFace = LeftFace.Copy(), RightFace = RightFace.Copy(), FrontFace = FrontFace.Copy(), RearFace = RearFace.Copy(), UpperFace = UpperFace.Copy(), BottomFace = BottomFace.Copy() }); }
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(); }
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(); }
public void RotateRightFaceAnticlockwise() { RotateRightFace(RightFace.RotateAnticlockwise()); }
public void RotateRightFaceClockwise() { RotateRightFace(RightFace.RotateClockwise()); }