📄 gobangplaqixing.java
字号:
package mygobang;
//产生玩家的棋型表
public class Gobangplaqixing {
// temp存在玩家方棋子个数,m移动停止坐标最后为不成立条件
private int temp, x, y, m, n;
public void ai(int table[][], int player[][][]) {
for (x = 0; x < 15; x++)
for (y = 0; y < 15; y++) {
switch (table[x][y]) {
//空位
case 0: {
for (m = x - 1; m >= 0;)
if (table[m][y] != 1)
break;
else
m--;
temp = x - 1 - m;
if (temp == 0)//冲0
player[x][y][0] = 0;
else {
if (m == -1)
//到边界冲棋
player[x][y][0] = new Gobangwhichone().pieceqixing(
temp, 0, 1);
else
//最后一子对空位或对方子
player[x][y][0] = new Gobangwhichone().pieceqixing(
temp, table[m][y], 1);
}
//
for (m = x + 1; m <= 14;)
if (table[m][y] != 1)
break;
else
m++;
temp = m - (x + 1);
if (temp == 0)
player[x][y][4] = 0;
else {
if (m == 15)
player[x][y][4] = new Gobangwhichone().pieceqixing(
temp, 0, 1);
else
player[x][y][4] = new Gobangwhichone().pieceqixing(
temp, table[m][y], 1);
}
//
for (n = y - 1; n >= 0;)
if (table[x][n] != 1)
break;
else
n--;
temp = y - 1 - n;
if (temp == 0)
player[x][y][2] = 0;
else {
if (n == -1)
player[x][y][2] = new Gobangwhichone().pieceqixing(
temp, 0, 1);
else
player[x][y][2] = new Gobangwhichone().pieceqixing(
temp, table[x][n], 1);
}
//
for (n = y + 1; n <= 14;)
if (table[x][n] != 1)
break;
else
n++;
temp = n - (y + 1);
if (temp == 0)
player[x][y][6] = 0;
else {
if (n == 15)
player[x][y][6] = new Gobangwhichone().pieceqixing(
temp, 0, 1);
else
player[x][y][6] = new Gobangwhichone().pieceqixing(
temp, table[x][n], 1);
}
//
for (m = x - 1, n = y - 1; m >= 0 && n >= 0;)
if (table[m][n] != 1)
break;
else {
m--;
n--;
}
temp = x - 1 - m;
if (temp == 0)
player[x][y][1] = 0;
else {
if (m == -1)
player[x][y][1] = new Gobangwhichone().pieceqixing(
temp, 0, 1);
else if (n == -1)
player[x][y][1] = new Gobangwhichone().pieceqixing(
temp, 0, 1);
else
player[x][y][1] = new Gobangwhichone().pieceqixing(
temp, table[m][n], 1);
}
//
for (m = x + 1, n = y + 1; m <= 14 && n <= 14;)
if (table[m][n] != 1)
break;
else {
m++;
n++;
}
temp = m - (x + 1);
if (temp == 0)
player[x][y][5] = 0;
else {
if (m == 15)
player[x][y][5] = new Gobangwhichone().pieceqixing(
temp, 0, 1);
else if (n == 15)
player[x][y][5] = new Gobangwhichone().pieceqixing(
temp, 0, 1);
else
player[x][y][5] = new Gobangwhichone().pieceqixing(
temp, table[m][n], 1);
}
//
for (m = x + 1, n = y - 1; m <= 14 && n >= 0;)
if (table[m][n] != 1)
break;
else {
m++;
n--;
}
temp = m - (x + 1);
if (temp == 0)
player[x][y][3] = 0;
else {
if (m == 15)
player[x][y][3] = new Gobangwhichone().pieceqixing(
temp, 0, 1);
else if (n == -1)
player[x][y][3] = new Gobangwhichone().pieceqixing(
temp, 0, 1);
else
player[x][y][3] = new Gobangwhichone().pieceqixing(
temp, table[m][n], 1);
}
//
for (m = x - 1, n = y + 1; m >= 0 && n <= 14;)
if (table[m][n] != 1)
break;
else {
m--;
n++;
}
temp = x - 1 - m;
if (temp == 0)
player[x][y][7] = 0;
else {
if (m == -1)
player[x][y][7] = new Gobangwhichone().pieceqixing(
temp, 0, 1);
else if (n == 15)
player[x][y][7] = new Gobangwhichone().pieceqixing(
temp, 0, 1);
else
player[x][y][7] = new Gobangwhichone().pieceqixing(
temp, table[m][n], 1);
}
break;
}
case 1:
break;
case 2:
break;
default:
break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -