对通过Java实现的简易五子棋项目的总结 所用逻辑算法梳理 棋盘绘制 采用了循环的方式绘制纵向与横向的线来实现了棋盘的构成 super.paint(g); //绘制棋盘 g.setColor(new Color(0xEED00B)); g.fillRect(0,0,850,850); g.setColor(Color.BLACK); for (int i = 0; i <= CLO; i++){ g.drawLine(X,Y+i*SIZE,X+CLO*SIZE,Y+i*SIZE);//绘制横向的棋盘 g.drawLine(X+i*SIZE,Y,X+i*SIZE,Y+ROW*SIZE);//绘制纵向的棋盘 } 设置一个Config接口来存储所需要的固定数据,设置为静态常量 public interface GoBangConfig { //棋盘左上角的坐标 int X = 50; int Y = 75; //棋盘网格的尺寸和棋子的直径 int SIZE = 40; //网格的数量 行列值 int ROW = 15; int CLO = 15; } 黑白交替下棋 设置chessFlag标记位,通过在监听器中根据按钮的信息赋予初值,在下棋过程中存储棋子数据时不断赋不同的值来实现交替 int chessFlag = 0;// 1 黑棋 2 白棋 //黑子走 if(chessFlag == 1) { g.setColor(Color.BLACK); // 圆的外切矩形的左上角坐标 以及 矩形的宽 高 g.fillOval (clo*SIZE+X-SIZE/2,row*SIZE+Y-SIZE/2,SIZE,SIZE); chessArr [row][clo] = 1; //在动态数组中保存当前棋子的坐标情况 chessPositionArrayList.add(new ChessPosition(row,clo)); chessFlag = 2; 开始游戏/停止游戏切换 在监听器中对按钮的文本信息进行判断并交替赋值 if