定义二维数组保存棋子颜色
二维数组:一维-行数 二维-列数 => int[行][列];
public int[][] winArr = new int[LINE][LINE];
if (count % 2 == 0) {
color = Color.BLACK;
//保存棋子颜色
//把棋子的交点值看作是二维数组的下标
winArr[chessY][chessX] = 1;
} else {
color = Color.WHITE;
winArr[chessY][chessX] = 2;
}
//判断输赢
if (isWin() >= 5) {
if (winArr[chessY][chessX] == 1) {
System.out.println("黑棋赢!");
} else if (winArr[chessY][chessX] == 2) {
System.out.println("白棋赢!");
}
}
//判断输赢:以最后一颗棋子为中心,搜索该棋子水平,垂直,左斜,右斜四个方向上的相连个数
public int isWin() {
int number = 0;//记录棋子相连个数
//向左
for (int i = chessX; i >= 0; i--) {
if (winArr[chessY][i] == winArr[chessY][chessX]) {
number++;
} else {
break; //终止当前循环
}
}
//向右
for (int i = chessX + 1; i < winArr.length; i++) {
if (winArr[chessY][i] == winArr[chessY][chessX]) {
number++;
} else {
break; //终止当前循环
}
}
return number;
}
//打印二维数组
public void printArr() {
//遍历二维数组的数据
for (int i = 0; i < winArr.length; i++) {
for (int j = 0; j < winArr[0].length; j++) {
System.out.print(winArr[i][j] + " ");
}
System.out.println();
}
System.out.println();
}
}
5909

被折叠的 条评论
为什么被折叠?



