有关vc五子棋ai算法的问题
发布网友
发布时间:2022-05-22 14:18
我来回答
共1个回答
热心网友
时间:2024-03-08 15:52
由于只有某个函数的代码片断,所以以下内容含推测,不保证正确性。
int flag=false; // 标记位,用于表示黑棋是否已获胜
for(i=1;i!=10;i++) // 从第一行开始,逐行循环
{
count=0; // 当前行连续的黑棋的个数
for(j=1;j!=10;j++) // 从第一列开始,逐列循环
{
if(qy[9*(i-1)+j-1].isBlack()) // 如果第i行j列为黑棋,则count计数加1
// qy代表9x9棋盘,共有81个结构体元素,元素依次代表第1行1列,第1行2列,...,第1行9列,第2行1列,第2行2列,...
count++;
else
count=0; // 如果第i行j列的棋子不为黑棋,则说明到该列为止黑棋已不连续,
因此count清零
if(count==5) // 如果count为5,说明在第i行到该列为止,已有连续5个黑子,可断定黑方获胜,无需继续判断其余行。
{
flag=true;
break;
}
// 之后应该至少有代码判断flag为true时终止对行的循环