修改PCChessBoard2类中的mouseClicked事件。
@Override
public void mouseClicked(MouseEvent e) {
ex=e.getX();
ey=e.getY();
//如果是“重新开始"
if(ex>550&&ex<700&&ey>50&&ey<100) {
JOptionPane.showMessageDialog(this, "确定重新开始吗?", "确定", 3);
initStart();
PCChessBoard2.isClose=0;
}
else if(isClose==1) {
return;
}
float x = (ex - 25) / 25;
float y = (ey - 25) / 25;
int x1 = (int) x;
int y1 = (int) y;
if(whichColor==0&&position[x1][y1]==0) {
position[x1][y1]=1;//落下白棋子
whichColor=1;
}
else if(whichColor==1&&position[x1][y1]==0) {
position[x1][y1]=2;//落下黑色棋子
whichColor=0;
}
//判断各方向输赢
whichwin.upOrDown(x1,y1,position,whichColor);
whichwin.leftOrRight(x1,y1,position,whichColor);
whichwin.Obliquedirection(x1,y1,position,whichColor);
whichwin.Obliquedirection2(x1,y1,position,whichColor);
}
修改ChessBoard2的构造方法
public ChessBoard2() {
chessBoardImage = Toolkit.getDefaultToolkit().getImage("images/chessBoard.jpg");
blackChess= Toolkit.getDefaultToolkit().getImage("images/black.png");
whiteChess= Toolkit.getDefaultToolkit().getImage("images/white.png");
buttonBoard= Toolkit.getDefaultToolkit().getImage("images/buttonBoard.png");
addMouseListener(this);
}
修改汇制棋盘的代码
//汇制棋盘
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(chessBoardImage, 0, 0,null);
g.drawImage(buttonBoard, 550, 50, null);
for (int i = 0; i < 19; i++) {
for (int j = 0; j < 19; j++) {
if (position[i][j] ==2) {
g.drawImage(blackChess, 13+i * 25 , 13+j * 25 , null);
} else if (position[i][j] ==1) {
g.drawImage(whiteChess, 13+i * 25 , 13+j * 25 , null);
}
}
}
}