完成上章之后本来准备进入五子棋的估值算法的,考虑了一下后还是觉得不要太着急,要符合本文一步一步的宗旨,保持清晰的思路。首先我们实现弱智版的人机对弈,理清人机对弈的基本流程。然后完成五子棋估值算法,让电脑能对棋盘进行基本的价值分析,具有思考能力。最后引入博弈算法,让电脑能进行深度思考,变的更加聪明。
本章的弱智版五子棋使用随机算法,即从棋盘上有效点中随机获取一点落子。方法虽然弱智,但目的是能够循序渐进,先实现基本的流程框架。下面是人机对弈的时序图:
1:用户单击鼠标,触发鼠标。
2:对话框捕获LBUTTON_UP消息,调用用户落子方法,更新棋盘数据。然后发送重绘消息。
3:对话框处理重绘消息,将用户的落子显示在界面。
4:对话框重绘完成后,通知Engine,轮到你了。代码如下: