• 大小: 4.39KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-03-26
  • 语言: 其他
  • 标签: 其他  

资源简介


在中国象棋棋盘上,任意一个位置放置一个棋子马,要能选择一套合适的移动路线,按象棋中“马走日”的移动规则不重复地遍历棋盘上每一个位置点。 本程序在VS2013调试通过,并可以完成指定功能。 先用C++的控制台,显示坐标表示的路径。 之后用easyX来画一个棋盘,动画化表示马的遍历过程。 要想用源代码,需下载插件easyX,<graphics.h>头文件才可用。 如果不想要下载easyx,则可以删除图形表示的部分代码。

资源截图

代码片段和文件信息

/* 文件头
* 象棋中马的遍历.cpp
* Data Structure.............坐标结构体
* Compiler version...........Microsoft Visual Studio 2013 Release
* Name.......................
* Date.......................2015/3/17
* Computer & CPU.............lenovo E530 & Intel cure i3-2348M CPU
* Email......................1071717521@qq.com
* Function:图的深度优先遍历演示
*----------------------------------------------------
*/
/*象棋中马的遍历*/

//头文件 
#include
#include
#include
#include//画图所用
//宏定义 
#define LENGTH 10  
#define WIDTH 9       //棋盘的长、宽 
#define NUMBER (LENGTH*WIDTH)


//坐标结构体
typedef struct weizhi //标志棋子的位置,坐标表示 
{
int x;
int y;
}Position;

//棋盘访问标志数组
int visited[LENGTH][WIDTH];
//马可以移动的点数组
int   fx[] = { 2 1 -1 -2 -2 -1 1 2 };
int   fy[] = { 1 2 2 1 -1 -2 -2 -1 };


//子函数声明
bool judge(int i int j);//检查用户输入是否合法,以及检查跳马的过程中是否越界 
void init_visit();//初始化visited数组
void findpath(Position path[]);//寻找一条遍历棋盘的路径
int next(int i int j

评论

共有 条评论