今天看了五子棋算法,大概的算法就是从几个方向去计数,看得有点烦,因为条件太多,后来自己想可不可以简化一下,有了一个思路,不知道有没有盗了别人的版。权当记录下自己的思路,勿喷:

 

M*N 格子中,一般格子赋值为1,2, 如果还没有棋子的话值为0。 然后通过一个合法方向上计算连续数字的次数来判断胜利,这是一般的思路

 

但是我觉得判断的过程中有点烦,很多条件控制,一般一时还可能想不全。因为下一个格子可能会影响前面的计数,所以想了一个思路,就是格子的赋值不要弄成1和2 。。 例如1 , 6 还有无棋子情况为0  那么。在判断连续的五个棋子的时候,就可以转变成四个数字的算术和了,如果是5,那么这5个格子是一方赢,如果结果是30,那么一定是另一方赢,其他情况统统没有胜利,这样的话在循环判断的过程可能会简单点。

 

呵呵,班门弄斧了

版权声明:本文为andriod-html5原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/andriod-html5/archive/2010/12/15/2539369.html