得分函数:点击查看代码[code]int aiJudge::getScore(bool color, int x, int y, int g[][N]){ int ans = 0; int dir = -1; int nowcolor = color ? 1 : -1; //获取8联通方向的棋子排布 while (++dir < 4) { std::deque S; S.push_back(1); int sign = -1; for (int i = 1; i < 4; ++i) { int tx = x + sign * i * dx[dir], ty = y + sign * i * dy[dir]; if (!posIsLegal(tx, ty)){ S.push_front(2); break; } if (g[tx][ty] == 0) { S.push_front(0); } if (g[tx][ty] == nowcolor) S.push_front(1); if (g[tx][ty] == -nowcolor) { S.push_front(2); break; } } sign = -sign; for (int i = 1; i ACSearch(s); for (int j = 0; j