[size=medium]人机算法的设计
有了棋盘棋子,实现了人人对战,即可以判断输赢之后,要完成人机对战,主要是算法思想的设计,用权值比较简单理解。
1、机器在下的位置,必须是空坐标点,然后再判断该点是不是合理些。下面是判断任一空坐标点四周的棋子的情况
2、机器人得到空坐标点的信息后,就要做出分析和判断了。选出它认为最佳的空坐标的位置。然后返回给监听器。在选择最佳的位置时,这里,我是用权值来的大小来区分每一点的。看哪一点的权值最大,就认为是该点最合适了。最佳点就是机器人要下棋子的坐标,它是包含两个值的(横坐标和纵坐标)。所以又再次利用数组来返回一个坐标了。
3、得到机器人要下的位置后,在监听器类中,我们就有需要做些修改了,因为整体来说,自己和机器人就下棋这点来说是一样的步骤。因此,就可以把下棋的方法单独拿出来作为一个方法,用两个的对象来调用这个方法就行了。[/size]
有了棋盘棋子,实现了人人对战,即可以判断输赢之后,要完成人机对战,主要是算法思想的设计,用权值比较简单理解。
1、机器在下的位置,必须是空坐标点,然后再判断该点是不是合理些。下面是判断任一空坐标点四周的棋子的情况
2、机器人得到空坐标点的信息后,就要做出分析和判断了。选出它认为最佳的空坐标的位置。然后返回给监听器。在选择最佳的位置时,这里,我是用权值来的大小来区分每一点的。看哪一点的权值最大,就认为是该点最合适了。最佳点就是机器人要下棋子的坐标,它是包含两个值的(横坐标和纵坐标)。所以又再次利用数组来返回一个坐标了。
3、得到机器人要下的位置后,在监听器类中,我们就有需要做些修改了,因为整体来说,自己和机器人就下棋这点来说是一样的步骤。因此,就可以把下棋的方法单独拿出来作为一个方法,用两个的对象来调用这个方法就行了。[/size]