## 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;
    }
~~~
这个版本只是根据每个点的连线贡献来判断每个位置价值。
### 第二版本
在第一版本的基础上加上随机化。
                    
        
    