请问哪位知道在java五子棋游戏中怎样利用穷举法判断判断每一个坐标点的四个方向的的最大棋子数。
1个回答
展开全部
我以前写过黑白棋的
其实这东西也挺容易的,但运算量会很大
就是你得有个算法,确定你下在某个位置的权值有多少.
权值,就是有多大的优势
具体就是,遍历整个棋盘,先知如纯袭道还有哪里能放棋子
然后遍历每个能放棋子的位置,判断出走这一步对自己的优势有多大,对对方的优势有多小.
获得一个值.至于这个值的算法,你得自己考虑了..五子棋研究的不多.
这样你就能知道走哪里会好一些了.
当然,你可以用递归继续这个算法,遍历对手的位置,然后再遍历你自己能走的位置,这种情况下的优势情况来获得权值裤丛.
至于递归多少层....
挺大的运算量不是?
至于你说的 "每一个坐标点的四个方向的的最大棋子数",
我是,每个位置,都是一个对象.其中几个属性就分别为
1 横坐标
2 纵坐标
3 黑?白?还是空?
4 第几步?用来渣兄记录棋局和悔棋的
暂时想到这么多.这样你通过这些属性就能很方便的知道所在棋盘的位置,以及最大棋子数
其实这东西也挺容易的,但运算量会很大
就是你得有个算法,确定你下在某个位置的权值有多少.
权值,就是有多大的优势
具体就是,遍历整个棋盘,先知如纯袭道还有哪里能放棋子
然后遍历每个能放棋子的位置,判断出走这一步对自己的优势有多大,对对方的优势有多小.
获得一个值.至于这个值的算法,你得自己考虑了..五子棋研究的不多.
这样你就能知道走哪里会好一些了.
当然,你可以用递归继续这个算法,遍历对手的位置,然后再遍历你自己能走的位置,这种情况下的优势情况来获得权值裤丛.
至于递归多少层....
挺大的运算量不是?
至于你说的 "每一个坐标点的四个方向的的最大棋子数",
我是,每个位置,都是一个对象.其中几个属性就分别为
1 横坐标
2 纵坐标
3 黑?白?还是空?
4 第几步?用来渣兄记录棋局和悔棋的
暂时想到这么多.这样你通过这些属性就能很方便的知道所在棋盘的位置,以及最大棋子数
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询