c#程序编写:一个“非主流”的跳马问题 10
c#程序编写:有一个m*n的棋盘,一马放置在棋盘中的任意位置,嘛按中国象棋的走法,从初始位置起跳,调至边界后返回,求所有能返回初始位置的周游路线。。。。。。能给我思路就成...
c#程序编写:有一个m*n的棋盘,一马放置在棋盘中的任意位置,嘛按中国象棋的走法,从初始位置起跳,调至边界后返回,求所有能返回初始位置的周游路线。。。。。。能给我思路就成 不用详细的代码
展开
展开全部
首先获取当前马的坐标point,根据棋盘格子width,height的大小获取所有马能跳到的所有位置坐标集合,循环集合判断马能跳到附近的哪个位置坐标,根据它以此类推,继续判断直到返回马的初始位置,把这些坐标连起来就是路线了。不知道是不是你想要的思路
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想可以用坐标的思想
马走日
马的当前坐标 x表示横坐标 y表示纵坐标
马的下个位置按照360度 顺时针计算
有以下跳法
x+1 y-2
x+2 y-1
x+2 y+1
x+1 y+2
x-1 y+2
x-2 y+1
x-2 y-1
x-1 y-2
应该没写错
这样可以循环判断
至于怎么终止 你自己再依照需要思考吧
马走日
马的当前坐标 x表示横坐标 y表示纵坐标
马的下个位置按照360度 顺时针计算
有以下跳法
x+1 y-2
x+2 y-1
x+2 y+1
x+1 y+2
x-1 y+2
x-2 y+1
x-2 y-1
x-1 y-2
应该没写错
这样可以循环判断
至于怎么终止 你自己再依照需要思考吧
追问
就是不太知道怎么终止。。。觉得有无穷多可能。。。没法写循环条件
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
所有路线,这个真是太多种跳法了,能在详细说一下你想实现的功能么
追问
我也觉着很多跳法来着 所以我觉着普通思路没法解决 想来百度换个思路看看 。。。功能嘛就是在c#控制台里输入m,n,还有起始点x,y的值,敲下回车出路线图 对了 c#控制台能画图吗?不能画图直接给出路线数目也成
追答
控制台是画不了图了
要是我的话,设置两个属性,一个是横着跳的,一个是竖着跳的,
然后判断跟两边的距离,随机调用两个方法里的一个
判定起的的坐标,一样就停止。。
不过好像可能会出现重复两点的跳的情况
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询