1
我该如何去修改当前的棋盘棋盘代码,以便棋盘棋子以彩色方式递归交替?为了清楚起见,我不希望每件作品都是纯色 - 我希望它们的颜色本身有不同的颜色。因此,例如,当前的黄色部分会变成黄色和蓝色部分,具有黄色的外层,接着是蓝色,然后是黄色等。我希望这有意义吗?我不相信我可以突出显示代码,但checker片段在checkerBoard方法中的第一个嵌套for语句之后开始。有两种情况,第一种是前两排,第二种是最后两种。Java - 在圈中递归交替颜色
import java.awt.*;
import java.applet.*;
public class Checkerboard extends Applet
{
private final int DIST = 100;
private final int SIZE = 1000;
public void checkerBoard(int row, int col, int x, int y, boolean b, Graphics g)
{
for (row = 0; row < 8; row++)
{
for (col = 0; col < 8; col++)
{
x = col * 100;
y = row * 100;
if ((row % 2) == (col % 2))
g.setColor(Color.black);
else
g.setColor(Color.red);
g.fillRect(x, y, 100, 100);
}
}
for (row = 0; row < 2; row++)
{
for (col = 0; col < 8; col++)
{
x = col * 100;
y = row * 100;
g.setColor(Color.yellow);
g.fillOval(x, y, 100, 100);
}
}
for (row = 7; row > 5; row--)
{
for (col = 0; col < 8; col++)
{
x = col * 100;
y = row * 100;
g.setColor(Color.green);
g.fillOval(x, y, 100, 100);
}
}
}
public void paint(Graphics g)
{
checkerBoard(0, 0, 0, 0, true, g);
}
}
差不多。我需要递归地执行它,所以我想调用checkerBoard() - 尽管创建一个新方法并调用该方法会更有意义吗?另外你提供的例子是_bit_ off。将它加载到applet中,看起来像3D交通锥,而不是交替出现的圆。也许他们看起来更像是棋子?有趣的,如果有的话。即使你搞砸了,图形总是很有趣:) – user3594736 2014-12-04 01:34:19
哎呀我把我的系数关闭了。我认为这是正确的。 – BevynQ 2014-12-04 01:37:40
所以如果我使用了一种新的方法,就像你在暗示的那样,我应该如何保留原来嵌套的语句,这样才能使圆圈只出现在板的前两个和最后两个行?对不起,如果我是一个小noobish :( - 另外,它看起来像你忘了在你的drawCircle方法中的“图形克”? – user3594736 2014-12-04 01:48:44