马踏棋盘问题

时间:2017-01-06 02:45:55
【文件属性】:

文件名称:马踏棋盘问题

文件大小:259KB

文件格式:DOC

更新时间:2017-01-06 02:45:55

马踏棋盘问题

【问题描述】 将马随机地放在国际象棋的8*8棋盘某个方格中,然后令马按走棋规则开始进行移动。马将棋盘上的每个方格进入且只进入一次,走遍全部64个方格。 【软件功能】 1. 用户可以输入一个起始位置。 2. 有一个正确的起始位置后,用户可以得到一个棋盘,棋盘上的每个位置都将标有1-64中的某一个数字。 3. 再输入一个起始位置后,将会得到一个新的棋盘。 4. 利用GUI实现简单的图形用户界面 【算法思想】 1. 由键盘输入起始的x坐标和y坐标 2. 判断坐标位置是否合法,如果不合法,则提示用户重新输入,如果合法,则将坐标保存在马类中,并且将步数记录为第1步,将棋盘类入栈保存。接着调用探寻下一步路径的函数。 3. 马将向可以走的方向进行尝试,如果尝试的这个位置可以行走,即马还没有走过,则记录下此位置以及是第几步所走的位置,并入栈保存。 4. 再次调用探寻路径的函数,并且做步骤3中的做法。 5. 直到马将棋盘上的64个方格都走完,则停止调用探寻路径的函数。此时,开始输出马所走的位置。即开始出栈。 6. 栈遵循后进先出的原则,故出栈时,首先输出的是马走的最后一个位置,此时,在棋盘上对应的位置输入所记录的步数。依次循环出栈,当栈为空时,即输出完毕,得到一章带有马所走过的位置的棋盘。程序结束。


网友评论