## AI 逻辑
### 第一版本
~~~
public int evaluate() {
Owner owner = getOwner();
if(owner == Owner.X)
return 100;
if(owner == Owner.O)
return -100;
if(owner == Owner.NEITHER) {
int total = 0;
if(getSubTiles() != null) {
for(int tile = 0; tile < 9; tile++) {
total += getSubTiles()[tile].evaluate();
}
int[] totalX = new int[4];
int[] totalO = new int[4];
countCaptures(totalX, totalO);
total = total * 100 + totalX[1] + 2 * totalX[2] + 8 * totalX[3] - totalO[1] - 2 * totalO[2] - 8 * totalO[3];
return total;
}
}
return 0;
}
~~~
这个版本只是根据每个点的连线贡献来判断每个位置价值。
### 第二版本
在第一版本的基础上加上随机化。