public void Rotate(RubikCubeMoviment moviment) { var oldState = (FaceCube <T>) this.MemberwiseClone(); if (moviment.Axis == Axis.X) { //up if (moviment.Spin == Spin.Clockwise) { this.Front = oldState.Bottom; this.Bottom = oldState.Back; this.Back = oldState.Top; this.Top = oldState.Front; } //down else { this.Front = oldState.Top; this.Bottom = oldState.Front; this.Back = oldState.Bottom; this.Top = oldState.Back; } } else if (moviment.Axis == Axis.Y) { //left if (moviment.Spin == Spin.Clockwise) { this.Front = oldState.Right; this.Left = oldState.Front; this.Back = oldState.Left; this.Right = oldState.Back; } //right else { this.Front = oldState.Left; this.Left = oldState.Back; this.Back = oldState.Right; this.Right = oldState.Front; } } else if (moviment.Axis == Axis.Z) { if (moviment.Spin == Spin.Clockwise) { this.Top = oldState.Left; this.Right = oldState.Top; this.Bottom = oldState.Right; this.Left = oldState.Bottom; } else { this.Top = oldState.Right; this.Right = oldState.Bottom; this.Bottom = oldState.Left; this.Left = oldState.Top; } } }
public Animation(List <Cube> animationCubes, int degree, RubikCubeMoviment moviment) { this.animationCubes = animationCubes; this.leftDegree = degree; this.moviment = moviment; this.AnimationEnded = false; }
public void Manipulate(RubikCubeMoviment moviment) { rubiksCube.Manipulate(moviment); }
private void btnFirstYLeft_Click(object sender, EventArgs e) { RubikCubeMoviment moviment = new RubikCubeMoviment(Depth.First, Spin.Clockwise, Axis.Y); rubikForm.Manipulate(moviment); }
private void btnSecondXDown_Click(object sender, EventArgs e) { RubikCubeMoviment moviment = new RubikCubeMoviment(Depth.Second, Spin.Anticlockwise, Axis.X); rubikForm.Manipulate(moviment); }
private void btnThirdYRight_Click(object sender, EventArgs e) { RubikCubeMoviment moviment = new RubikCubeMoviment(Depth.Third, Spin.Anticlockwise, Axis.Y); rubikForm.Manipulate(moviment); }