package twoDimArrayDemo;
import java.util.Arrays;
import java.util.Scanner;
public class Gobang {
//创建棋盘二维数组
static char[][] checkerboard = new char[15][15];
//定义一个标记flag。true-黑棋,false-白棋
static boolean flag = true;
//定义黑棋样式
static char black = ‘★’;
//定义白棋样式
static char white = ‘☆’;
static Scanner scanner = new Scanner(System.in);
//初始化棋盘
public static void init() {
//创建数组num,为棋盘进行边界行列赋值
char[] num = {'⒈', '⒉', '⒊', '⒋', '⒌', '⒍', '⒎', '⒏', '⒐', '⒑', '⒒', '⒓', '⒔', '⒕', '⒖'};
//初始化数组
for (int i = 0; i < checkerboard.length; i++) {
for (int j = 0; j < checkerboard[i].length; j++) {
checkerboard[i][j] = '十';
//把棋盘最后一列的'十'替换为num数组中的元素
if (j == checkerboard[i].length - 1) {
checkerboard[i][j] = num[i];
}
//把棋盘最后一行的'十'替换为num数组中的元素
if (i == checkerboard[j].length - 1) {
checkerboard[i][j] = num[j];
}
}
}
}
//判断坐标是否越界
public static boolean checkPointCross(int x, int y) {
if (x < 0 || x > 13 || y < 0 || y > 13) {
return false;
}
return true;
}
//判断坐标处是否已有棋子
public static boolean checkPointExit(int x, int y) {
if (checkerboard[x - 1][y - 1] != '十') {
return false;
}
return true;
}
//开始下棋
public static void playChess() {
while (true) {
if (flag) {
System.out.println("黑棋下子:");
int x = scanner.nextInt();
int y = scanner.nextInt();
if (Gobang.checkPointCross(x, y) || Gobang.checkPointExit(x, y)) {
checkerboard[x - 1][y - 1] = black;
//下棋之后打印棋盘
Gobang.print();
} else {
System.out.println("坐标越界或坐标处已有棋子!");
continue;
}
flag = false;
} else {
System.out.println("白棋下子:");
int x = scanner.nextInt();
int y = scanner.nextInt();
if (Gobang.checkPointCross(x, y) && Gobang.checkPointExit(x, y)) {
checkerboard[x - 1][y - 1] = white;
//下棋之后打印棋盘
Gobang.print();
} else {
System.out.println("坐标越界或坐标处已有棋子!");
continue;
}
flag = true;
}
}
}
//打印输出棋盘
public static void print() {
//输出棋盘
for (int i = 0; i < checkerboard.length; i++) {
for (int j = 0; j < checkerboard[i].length; j++) {
System.out.print(checkerboard[i][j]);
}
System.out.println();
}
}
}


![1.创建15*15的二维数组,初始化 char[][] 1.创建15*15的二维数组,初始化 char[][]](http://www.mshxw.com/aiimages/31/732090.png)
