我正在研究一个 2x2 魔方,并且无法通过我的程序进行一侧旋转。立方体是一个二维的正方形数组。我只是想逆时针旋转 90 度。
这就是发生的事情 https://imgur.com/a/tlskNKY
我改变了颜色,所以我可以看到特定的方块以及它们是如何变化的。我尝试更改顺序,一次移动特定的部分,看看问题是否只是重叠的部分(没有这样的运气)。
//square class
public class square implements Comparable {
int c;
private Rectangle r;
int xpos, ypos, width, height;
public square(int a, int x, int y) {
c = a;
xpos = x;
ypos = y;
r = new Rectangle(xpos, ypos, 50, 50);
}
//some unused methods
}
//inside the cube class
public class cube{
square[] temp = new square[4]
square[][] sq= new square[6][4]
//two for loops make squares and fills the sq 2d array
//the result is in the imgur link
public void turnVc(){
temp= sq[2];
sq[2][0]=temp[1];
sq[2][1]=temp[3];
sq[2][2]=temp[2];
sq[2][3]=temp[0];
}
}
我希望输出是逆时针旋转的原始图像。