算法以宽度优先,设我军坐标为(m,n),移动力x,敌军坐标(o,p)
先算宽度,即从(m,n-1)开始计算,(m,n-2),(m,n-3)。。。直到x耗尽,为上边线
同理从(m,n+1)开始计算,(m,n+2),(m,n+3)。。。直到x耗尽,为下边线
。。。。。。。。。。(也就是n^2级循环)
敌军所在坐标消耗移动力255(以二进制计算),即不可移送,其四周(o-1,p),(o+1,p),(o,p-1),,(o,p+1)消耗移动力为x
即可实现你所需要的算法
再细化,我军分我军、友军,敌军为敌军A,敌军B(可相互攻击)。。。。。。。以不同势力代码区分即可
[ 本帖最后由 司徒苍月 于 2010-6-3 14:18 编辑 ]
|