汇智学堂-JAVA桌面游戏开发(五子棋之五:重新开始)

修改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);
                }
            }
        }
    }	

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_39593940/article/details/88734138