#include<iostream>#include<cstdlib>#include<cstring>using namespace std;const char outstr[11][4]={"┌","┬","┐","├","┼","┤","└","┴","┘","○","●"};int com[15][15],luozi[15][15];int c,d;void jushi() //这是判断落子重要性的函数{ int x,y,i,m,n,lianzi1=0,lianzi2=0,life=0; memset(com,0,sizeof(com)); for(x=0;x<=14;x++) for(y=0;y<=14;y++) { if(luozi[x][y]==0) { for(m=-1;m<=1;m++) for(n=-1;n<=1;n++) { if(m!=0 || n!=0) { for(i=1;i<=4;i++) { if( x+i*m>=0 && x+i*m<=14 && y+i*n>=0 && y+i*n<=14 && luozi[x+i*m][y+i*n]==1 ) {lianzi1++;} else if(luozi[x+i*m][y+i*n]==0) {life++; break;} else {break;}} for(i=-1;i>=-4;i--) { if( x+i*m>=0 && x+i*m<=14 && y+i*n>=0 && y+i*n<=14 && luozi[x+i*m][y+i*n]==1 ) {lianzi1++;} else if(luozi[x+i*m][y+i*n]==0) {life++; break;} else {break;} } if(lianzi1==1) {com[x][y]+=1;} else if(lianzi1==2) { if(life==1) {com[x][y]+=5;} else if(life==2) {com[x][y]+=10;}} else if(lianzi1==3) { if(life==1) {com[x][y]+=20;} else if(life==2) {com[x][y]+=100;} } else if(lianzi1==4) {com[x][y]+=500;} life=0; for(i=1;i<=4;i++) { if( x+i*m>=0 && x+i*m<=14 && y+i*n>=0 && y+i*n<=14 && luozi[x+i*m][y+i*n]==2 ) {lianzi2++;} else if(luozi[x+i*m][y+i*n]==0) {life++; break;} else {break;}} for(i=-1;i>=-4;i--) { if( x+i*m>=0 && x+i*m<=14 && y+i*n>=0 && y+i*n<=14 && luozi[x+i*m][y+i*n]==2 ) {lianzi2++;} else if(luozi[x+i*m][y+i*n]==0) {life++; break;} else {break;} } if(lianzi2==1) {com[x][y]+=2;} else if(lianzi2==2) { if(life==1) {com[x][y]+=8;} else if(life==2) {com[x][y]+=30;} }else if(lianzi2==3) { if(life==1) {com[x][y]+=50;} else if(life==2) {com[x][y]+=200;} } else if(lianzi2==4) {com[x][y]+=1000;} lianzi1=0; lianzi2=0; life=0; } } } }}void computer(int a[15][15]) //这是电脑落子的函数{ int i,j,max=0; jushi(); for(i=0;i<=14;i++) for(j=0;j<=14;j++) { if(com[i][j]>max) { max=com[i][j]; c=i; d=j; } } a[c][d]=10; luozi[c][d]=2;}