文件名称:国际象棋中马的遍历问题的源代码
文件大小:5.42MB
文件格式:ZIP
更新时间:2015-08-08 10:57:31
国际象棋 马的遍历 源代码
国际象棋的棋盘有8×8=64个格子,给它们规定坐标(1,1)到(8,8)。马在这64个格子的某一个格子上,它的跳动规则是:如果它现在在(x,y)位置,它下一步可以跳到(x±1,y±2)或(x±2,y±1)(所有的“±”之间没有相关性)。一般来说它下一步可以有八种跳法,但是它不能跳出这64个格子。 设计算法使它不管从哪出发都可以跳遍所有的格子(每个格子只能路过一次)最后回到起点。 1.基本要求: 合理设计界面,自行设计国际象棋棋盘,用鼠标选择马的起始位置,起始位置选定后,按“开始”按钮演示马的每一步行走路线。棋盘和马的显示尽量美观逼真。功能菜单或按钮自行设计,以合理为目的。 2.扩展要求: 对算法进行优化,根据j.c.Warnsdorff规则设计算法,该规则是在所有可跳的方格中,马只可能走这样一个方格:从该方格出发,马能跳的方格数为最少;如果可跳的方格数相等,则从当前位置看,方格序号小的优先。
【文件预览】:
马的遍历
----ReadMe.txt(4KB)
----chess.dsp(5KB)
----chess.h(1KB)
----StdAfx.h(1KB)
----chess.cpp(4KB)
----chessDoc.h(1KB)
----res()
--------bitmap4.bmp(5KB)
--------chessDoc.ico(1KB)
--------bitmap9.bmp(5KB)
--------Toolbar.bmp(1KB)
--------bitmap3.bmp(5KB)
--------bitmap7.bmp(5KB)
--------bitmap2.bmp(1KB)
--------bitmap8.bmp(1KB)
--------bitmap5.bmp(1KB)
--------chess.ico(1KB)
--------chess.rc2(397B)
--------bitmap6.bmp(1KB)
--------bitmap1.bmp(1KB)
--------Thumbs.db(44KB)
----chess.opt(58KB)
----Dialog3.h(1KB)
----chess.rc(17KB)
----MainFrm.cpp(3KB)
----Dialog1.cpp(1KB)
----chess.ncb(697KB)
----MainFrm.h(1KB)
----Debug()
--------vc60.pdb(380KB)
--------chess.obj(23KB)
--------chessDoc.obj(14KB)
--------chess.bsc(5.2MB)
--------Dialog1.obj(11KB)
--------chess.exe(164KB)
--------chess.pch(6.68MB)
--------MainFrm.obj(22KB)
--------chess.sbr(0B)
--------Dialog2.obj(14KB)
--------chessView.obj(67KB)
--------chess.ilk(610KB)
--------chessDoc.sbr(0B)
--------Stack.sbr(0B)
--------vc60.idb(281KB)
--------Graph.obj(13KB)
--------chess.res(29KB)
--------StdAfx.sbr(1.31MB)
--------Dialog3.sbr(0B)
--------chess.pdb(577KB)
--------Stack.obj(8KB)
--------StdAfx.obj(104KB)
--------chessView.sbr(0B)
--------Dialog3.obj(14KB)
--------Graph.sbr(0B)
--------Dialog1.sbr(0B)
--------MainFrm.sbr(0B)
--------Dialog2.sbr(0B)
----Graph.cpp(6KB)
----resource.h(3KB)
----chess.dsw(518B)
----chess.plg(244B)
----chessView.cpp(18KB)
----chess.aps(53KB)
----chess.clw(4KB)
----Dialog2.h(1KB)
----StdAfx.cpp(409B)
----Dialog3.cpp(2KB)
----Dialog2.cpp(2KB)
----Graph.h(1KB)
----chessView.h(3KB)
----chessDoc.cpp(2KB)
----Dialog1.h(1KB)