📄 five.cpp
字号:
#include<stdio.h>
void initialize()
{
randomize();
}
int zz(int v1,int v2,int k) /*每个可能落子点的加权值(电脑走棋时)*/
{
int value1=0,n=0;
if(v1==3&&v2==0){value1+=0;if(k==2)value1+=2;}
if(v1==3&&v2==1){value1+=11;if(k==2)value1+=5;}
if(v1==3&&v2==2){value1+=12;if(k==2)value1+=6;}
if(v1==4&&v2==0){value1=0;}
if(v1==4&&v2==1){value1+=15;if(k==2)value1+=7;}
if(v1==4&&v2==2){value1+=31;if(k==2)value1+=62;}
if(v1==5&&v2==0){value1=0;}
if(v1==5&&v2==1){value1+=95;if(k==2)value1+=31;}
if(v1==5&&v2==2){value1+=400;if(k==2)value1+=32;}
if(v1==6&&v2==1){value1+=600;if(k==2)value1+=20;}
if(v1==6&&v2==2){value1+=700;if(k==2)value1+=20;}
n=value1;
if(n==126||n==62||n==91||n==80||n==139||n==78||n==46||n==58||n==74||n==89)
{
value1+=133;if(k==2)value1+=20;
}
return(value1);
}
int select(int x,int y,int chessmap[][19])
{
int values[2]={0,0};int k,i=1,j=1,v1=0,v2=0;
for(k=1;k<=2;k++)
{
for(i=1;chessmap[x-i][y]==k;i++);
for(j=1;chessmap[x+j][y]==k;j++);
if(chessmap[x-i][y]==0)v2+=1;
if(chessmap[x+j][y]==0)v2+=1;
v1+=i+j;values[k-1]+=zz(v1,v2,k);v2=0;v1=0;
for(i=1;chessmap[x][y-i]==k;i++);
for(j=1;chessmap[x][y+j]==k;j++);
if(chessmap[x][y-i]==0)v2+=1;
if(chessmap[x][y+j]==0)v2+=1;
v1+=i+j;values[k-1]+=zz(v1,v2,k);v2=0;v1=0;
for(i=1;chessmap[x-i][y-i]==k;i++);
for(j=1;chessmap[x+j][y+j]==k;j++);
if(chessmap[x-i][y-i]==0)v2+=1;
if(chessmap[x+j][y+j]==0)v2+=1;
v1+=i+j;values[k-1]+=zz(v1,v2,k);v2=0;v1=0;
for(i=1;chessmap[x-i][y+i]==k;i++);
for(j=1;chessmap[x+j][y-j]==k;j++);
if(chessmap[x-i][y+i]==0)v2+=1;
if(chessmap[x+j][y-j]==0)v2+=1;
v1+=i+j;values[k-1]+=zz(v1,v2,k);v2=0;v1=0;
}
return(values[0]+values[1]);
}
int nextchess(int chessmap[][19],int size,int player) /*选择加权值最大的点作为电脑的落子点*/
{
int i,j,v,x3,y3,value[19][19];
for (i=0;i<size;i++)
for (j=0;j<size;j++)
value[i][j]=0;
for (i=0;i<size;i++)
for (j=0;j<size;j++)
{
if(chessmap[j][i]==0)
{
value[j][i]=select(j,i,chessmap);
}
}
v=0;
for(i=0;i<size;i++)
for(j=0;j<size;j++)
{
if(value[i][j]>=v)
{
x3=i;y3=j;
v=value[i][j];
}
}
if(v==0){x3=10;y3=10;}
return(x3*size+y3);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -