请完成右边函数,实现五子棋机器人下棋策略。
1.传入参数arr表示目前已下棋位置:
例如:[[1,3], [3,4], [5,6]]表示目前已下了3个位置,分别为黑子、白子、黑子的位置;
2.返回参数表示机器人下一步下棋的位置:
例如:[6,6]表示机器人下一步下棋的位置为[6,6]。
注明:
1.棋盘大小为14*14;
2.1<=x<=14,1<=y<=14,其中x表示棋子的横坐标位置,y表示棋子的纵坐标位置。
解法1:
1.求所有未下棋位置的得分,得分最高的位置为下一步下棋的位置;
2.某位置得分计算公式:
1)计算放入棋子后:横线,竖线以及两条斜线(共四条线)的得分之和;
2)一条线上得分为放入棋子后该线上连在一起的同色棋子个数。
代码实现:
以上解法并非最优解法;如果您想在机器人大战中名列前茅,需要编写更优的程序。