0
私はチェッカーの自分のバージョンを作ろうとしていて、現在はボードとその作品を保存するコードを書いています。Javaでグラフィックスをレイヤーするには?
コードを実行するたびに、ボードがいくつかの部分に描画されているため、別の結果が得られます。私はどのようにすべての作品を常にボード上に表示させるのですか?私は同様の質問がされていることを理解していますが、有用な助けを提供していません。
ここでボードを描画されているコードです:
public static void setPieces() {
posX = 0;
posY = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
aryPiecePos[posX][posY] = SQUARE_STATE_RED;
board.repaint(board.getCoordX(posX), board.getCoordY(posY), Color.RED);
posX += 2;
}
posX = (posX == 8 ? 1 : 0);
posY += 1;
}
posX = 1;
posY = 5;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
aryPiecePos[posX][posY] = SQUARE_STATE_BLACK;
board.repaint(board.getCoordX(posX), board.getCoordY(posY), Color.BLACK);
posX += 2;
}
posX = (posX == 8 ? 1 : 0);
posY += 1;
}
}
はまたここにすべての私のコードへのリンクです:ここで はへのハイパーリンクです
public void paint(Graphics gr) {
Graphics2D gr2D = (Graphics2D) gr;
gr2D.setColor(color1);
BasicStroke stroke = new BasicStroke(strokeThickness,
BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND);
gr2D.setStroke(stroke);
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
gr.setColor((gr.getColor() == color2)
? color1 : color2);
gr.fillRect((int) (start + CHANGEVAL * i),
(int) (start + CHANGEVAL * j),
(int) CHANGEVAL,
(int) CHANGEVAL);
}
gr.setColor((gr.getColor() == color2)
? color1 : color2);
}
}
そしてここでは、作品を描くコードですが、私が現在持っているもの:https://drive.google.com/open?id=0B2uJqRSB8ckHYW53NmZsZDdxWWs