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