【发布时间】:2014-04-04 22:06:42
【问题描述】:
我正在制作井字游戏小程序。当我绘制 x 时,x 和 y 坐标会翻转。
private byte[][] board = new byte[][] {{0, -1, -1},
{-1, -1, -1},
{0, 0, -1}};
0 是 x,1 是 o,-1 是空白在屏幕上产生
我的代码是
private int boardSize = getWidth() < getHeight() ? getWidth():getHeight();
@Override
public void paint(Graphics gr) {
Graphics2D g = (Graphics2D)gr;
g.setColor(Color.BLACK);
boardSize = getWidth() < getHeight() ? getWidth():getHeight();
g.setStroke(new BasicStroke(boardSize/72));
g.drawLine(boardSize/3, 0, boardSize/3, boardSize);
g.drawLine(2*boardSize/3, 0, 2*boardSize/3, boardSize);
g.drawLine(0, boardSize/3, boardSize, boardSize/3);
g.drawLine(0, 2*boardSize/3, boardSize, 2*boardSize/3);
g.setStroke(new BasicStroke(boardSize/144));
for(byte x = 0; x < 3; x++) for(byte y = 0; y < 3; y++) if(board[x][y] == 0) drawX(g, x, y);
else if(board[x][y] == 1) drawO(g, x, y);
}
private void drawX(Graphics2D g, byte x, byte y) {
Stroke s = g.getStroke();
g.setStroke(new BasicStroke(boardSize/72));
g.drawLine(x*boardSize/3+boardSize/36, y*boardSize/3+boardSize/36, (x+1)*boardSize/3-boardSize/36, (y+1)*boardSize/3-boardSize/36);
g.setStroke(s);
}
drawO 尚未实现。我不明白为什么坐标被翻转了。
【问题讨论】:
标签: java applet coordinates