📄 chessdlg.cpp
字号:
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=4) goto loop2;
}
//Computer -1
player=-1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=7) goto loop2;
}
//User 1
player=1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=7) goto loop2;
}
//Computer -1
player=-1;
maxnum=rgzl1(&i,&j);
if(maxnum) goto loop2;
//User 1
player=1;
maxnum=rgzl1(&i,&j);
if(maxnum) goto loop2;
//Computer -1
player=-1;
maxnum=rgzl2(&i,&j);
if(maxnum) goto loop2;
//User 1
player=1;
maxnum=rgzl2(&i,&j);
if(maxnum) goto loop2;
//Computer -1
player=-1;
maxnum=rgzl3(&i,&j);
if(maxnum) goto loop2;
//User 1
player=1;
maxnum=rgzl3(&i,&j);
if(maxnum) goto loop2;
//Computer -1
player=-1;
maxnum=rgzl4(&i,&j);
if(maxnum) goto loop2;
//User 1
player=1;
maxnum=rgzl4(&i,&j);
if(maxnum) goto loop2;
//Computer -1
player=-1;
maxnum=rgzl5(&i,&j);
if(maxnum) goto loop2;
//User 1
player=1;
maxnum=rgzl5(&i,&j);
if(maxnum) goto loop2;
//Computer -1
player=-1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=6) goto loop2;
}
//User 1
player=1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=6) goto loop2;
}
//Computer -1
player=-1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=4) goto loop2;
}
//User 1
player=1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=4) goto loop2;
}
//Computer -1
player=-1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=3) goto loop2;
}
//User 1
player=1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=3) goto loop2;
}
//Computer -1
player=-1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=3) goto loop2;
}
//User 1
player=1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=3) goto loop2;
}
//Computer -1
player=-1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=2) goto loop2;
}
//User 1
player=1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=2) goto loop2;
}
//Computer -1
player=-1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=1) goto loop2;
}
//User 1
player=1;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==0)
{
maxnum=bd(i,j,&maxnum);
if(maxnum>=1) goto loop2;
}
loop1:
randnum=rand()%((ROW+1)*(COL+1));
i=randnum%(ROW+1);
j=randnum/(COL+1);
loop2:
if(nodes[i][j]!=0) goto loop1;
nodes[i][j]=-1;
player=-1;
maxlen=bd(i,j,&maxnum);
if(maxlen>=4)
{
gameover=true;
return 1;
}
return 0;
}
int CChessDlg::rgzl1(int *tempi, int *tempj)
{
int i,j;
for(i=0;i<=ROW;i++)
for(j=0;j<=COL;j++)
if(nodes[i][j]==player)
{
if(nodes[i+1][j]==player&&nodes[i+2][j]==player&&nodes[i+3][j]!=-player&&nodes[i-1][j]!=-player&&i>0&&i<=ROW-3)
{
if(nodes[i+4][j]==player&&i<=ROW-4)
{
(*tempi)=i+4;
(*tempj)=j;
return 1;
}
else
{
(*tempi)=i-1;
(*tempj)=j;
return 1;
}
}
if(nodes[i+1][j+1]==player&&nodes[i+2][j+2]==player&&nodes[i+3][j+3]!=-player&&nodes[i-1][j-1]!=-player&&i>0&&j>0&&i<=ROW-3&&j<=COL-3)
{
if(nodes[i+4][j+4]==player&&i<=ROW-4&&j<=COL-4)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -