04年就写过一个简单的五子棋PDA版的游戏,现在这段时间又回过头来考虑了,其中的一些问题。总结一下。
关于游戏中的胜负判断:
原来,我是通过扫描棋盘上所有的点,查找所有水平线,垂直线,45度斜线,135度斜线上的五子连。每下一次子,都重复搜索一遍。然后看有没有一方有五子连,有的话就就表示一方胜利。
这次重新分析了下。发现,其实不用全盘扫描。只需要判断最后一个子,同最后一个子颜色的子在它周围8个方向上的集合,从这里面找出五子连就可以判断胜负了。因为,最后一个子只影响他周围8个方向4个点距离内的五子连。4个点以外的就不用判断。因为如果4个点以外如果也能有五子连的话,早在以前就判断出来了。