/// <summary> /// AI 长考,判断是否有确定是地雷的位置 /// </summary> /// <param name="now"></param> /// <returns></returns> public int AI_DeepThink(int now) { if (now == 0) { return(0); } int flag = 0; for (int k = 0; k < now; k++) { Console.WriteLine("Start = " + ans[k].x + " " + ans[k].y); Pane pane = (Pane)this.Controls[Map[ans[k].x, ans[k].y]]; Console.WriteLine(pane._Around + " " + get_mine(ans[k])); AI_Find_Ans(8, pane._Around - get_mine(ans[k]), ans[k], 1 << 8, 0); for (int i = 0; i < this.row * this.col; i++) { int tmp = 1; for (int j = 0; j < ansnum; j++) { tmp = tmp & allans[j, i]; } if (tmp == 1) { point pt = new point(); pt = get_point(i); _is_mine[pt.x, pt.y] = 1; pane = (Pane)this.Controls[Map[pt.x, pt.y]]; pane._aiper(); flag = 1; } } for (int i = 0; i < ansnum; i++) { for (int j = 0; j < 10000; j++) { allans[i, j] = 0; } } ansnum = 0; } return(flag); }