📄 gobangcomturn.java
字号:
package mygobang;
//产生电脑的当前下子的位置,table中
public class Gobangcomturn {
private int sumc = 0, sump = 0, nextx, nexty, sumtemp;
private int a[][] = new int[230][2];
private int alength = 0, x, y, i, t, m, n,x1,y1;
public int getnextx() {
nextx = a[t][0];
return nextx;
}
public int getnexty() {
nexty = a[t][1];
return nexty;
}
private void aqingling(int a[][]) {
for (m = 0; m < 230; m++)
for (n = 0; n < 2; n++)
a[m][n] = 0;
}
//计算当前的空位最大权值,相加八方向上棋型,最大权值点存入a[][]中,alength为一维长度
public void comturn(int table[][], int computer[][][], int player[][][]) {
alength = 0;
sumc = 0;
sump = 0;
sumtemp = 0;
x1=0;
y1=0;
for (x = 0; x <= 14; x++)
for (y = 0; y <= 14; y++) {
sumtemp = 0;
sump = 0;
if (table[x][y] == 0) {
for (i = 0; i < 8; i++)
sumtemp += computer[x][y][i];
if (sumc < sumtemp) {
sumc = sumtemp;
aqingling(a);
a[0][0] = x;
a[0][1] = y;
alength = 1;
}
/*
*若当前点权值为零不存入数组
*
*/
else if (sumc == sumtemp && sumtemp != 0) {
a[alength][0] = x;
a[alength][1] = y;
alength++;
}
}
}
for (x = 0; x <= 14; x++)
for (y = 0; y <= 14; y++) {
sump = 0;
if (table[x][y] == 0) {
for (i = 0; i < 8; i++)
sump += player[x][y][i];
if (sumc < sump) {
sumc = sump;
aqingling(a);
a[0][0] = x;
a[0][1] = y;
alength = 1;
}
/*
*
*
*/
else if (sumc == sump && sump != 0) {
a[alength][0] = x;
a[alength][1] = y;
alength++;
}
}
if(x1==1&&y1==1)
{
for (x = 0; x <= 14; x++)
for (y = 0; y <= 14; y++) {
sump = 0;
if (table[x][y] == 0) {
for (i = 0; i < 8; i++)
sump += player[x][y][i];
if (sumc < sump) {
sumc = sump;
aqingling(a);
a[0][0] = x;
a[0][1] = y;
alength = 1;
}
/*
*
*
*/
else if (sumc == sump && sump != 0) {
a[alength][0] = x;
a[alength][1] = y;
alength++;
}
}
}
}
}
t = (int) (Math.random() * alength);// 产生随机整数
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -