2022年C语言课程设计-中国象棋 .pdf





《2022年C语言课程设计-中国象棋 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言课程设计-中国象棋 .pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、南昌航空大学信息工程学院课程设计说明书课程名称: C 语言课程设计设计题目:中国象棋专业: 计算机科学与技术班级:_姓名:学号:_ 评分:指导教师:2012 年 6 月 26 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 14 页 - - - - - - - - - 目 录 摘要 前言 功能描述 配置要求 总体设计(个人负责模块)一、功能模块设计二、数据结构设计三、函数功能描述四、代码实现五、运行结果 小结名师资料总结 - - -精品资料欢迎下载 - - - - -
2、- - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 14 页 - - - - - - - - - 摘 要中国象棋是一款很古老、很受欢迎的游戏,其开发过程有一定的技巧和方法,其中涉及到函数调用、二维数组、键盘操作等方面的知识。本游戏的开发者需要基本掌握复杂情况下函数的编写以及调用能力、二维数组的运用能力、复杂算法的设计能力等。 前 言中国象棋是一款经典的智力游戏,具有悠久的历史,早在战国时期就有了关于中国象棋的记载,经过几千年的流传,目前仍然是中国家喻户晓的棋类游戏,颇受欢迎。因此,我们决定借这次机会通过用C语言将中国象棋实现出来,当然,
3、我们也借鉴了前人的一些技巧经验。有不足之处,希望老师能够谅解,我们以后将会再接再厉。 功能描述本人负责棋子帅(将) 、象(相)、士(仕)、卒(兵)子函数的编写,它们的所能实现的功能分别是:(1)帅(将):控制棋子帅(将)能符合现实情况下的游戏规则而行走,例如帅(将)只能在规定范围内向上或向左、右、下行走一格, 最后返回一个行走正确或行走错误的数据。(2)象(相):控制棋子象(相)能符合现实情况下的游戏规则而行走,例如象(相)只能在自己领域内走“田”字格,且中间不能有其他棋子阻挡,最后返回一个行走正确或行走错误的数据。(3)士(仕):控制棋子士(仕)能符合现实情况下的游戏规则而行走,例如士(仕)
4、只能在规定范围内斜着跨一格,然后返回一个行走正确或行走错误的数据。(4)卒(兵):控制棋子卒(兵)能符合现实情况下的游戏规则而行走,例如卒(兵)只能一次走一格,同时在自己领域内只能向前走,而在对方领域内可向前、左、右方向走一格,最后返回一个行走正确或行走错误的数据。 配置要求(1) 硬件配置名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 14 页 - - - - - - - - - CPU : Pentium III 600内存: 64MB硬盘剩余空间:128MB(2)
5、软件环境Visual C+6.0及其以上版本 总体设计(个人负责模块)本人为小组成员,负责的模块是:棋子帅(将)、象(相)、士(仕)、卒(兵)子函数的设计与编写。一、系统模块设计1、系统模块图本人所负责的模块共有四个小项目组成,分别是控制棋子正确行走的帅(将)、象(相)、士(仕)、卒(兵)子函数。(1)帅(将)该子函数主要负责控制维持棋子帅(将)的正确行走,返回正确或错误的数据信息。(2)象(相)该子函数主要负责控制维持棋子象(相)的正确行走,返回正确或错误的数据信息。(3)士(仕)该子函数主要负责控制维持棋子士(仕)的正确行走,返回正确或错误的数据信息。(4)卒(兵)该子函数主要负责控制维持
6、棋子卒(兵)的正确行走,返回正确或错误的数据信息。调调用调调调用用用用图 1. 系统模块图主函数帅(将)象(相)士(仕)卒(兵) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 14 页 - - - - - - - - - 2、任务执行流程图在玩家进行游戏移动棋子帅(将)、象(相)、士(仕)、卒(兵)的时候,主函数调用这几个子函数的执行流程图均为:图 2. 任务执行流程图二、数据结构设计四个子函数均定义了局部变量x1,x2,y1,y2,table10 , 通过主函数调用将
7、玩家从键盘输入的值传递给x1,x2,y1,y2. table10 是在主函数中定义的一个二维数组,在子函数中同样控制棋盘的输出。三、函数功能描述1.chekshuai ( ) 函数原型: int checkshuai(int x1,int y1,int x2,int y2,int table10) 开始输入目标位置的坐标符 合 规 则吗?符合规则返回 1 不符合规则返回 0 输出规则提示信息名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 14 页 - - - - - -
8、- - - checkshuai( ) 函数控制棋子帅(将)的正确行走,通过主函数将初始位置的坐标x1,y1 与目标位置的坐标x2,y2 传递给该子函数,从而判别帅(将)的行走是否符合规则。2.checkxiang ( ) 函数原型: int checkxiang(int x1,int y1,int x2,int y2,int table10) checkxiang( ) 函数控制棋子象(相)的正确行走,通过主函数将初始位置的坐标x1,y1 与目标位置的坐标x2,y2 传递给该子函数,从而判别象(相)的行走是否符合规则。3.checkshi ( ) 函数原型: int checkshi(int
9、 x1,int y1,int x2,int y2,int table10) checkshi( )函数控制棋子士(仕)的正确行走,通过主函数将初始位置的坐标x1,y1 与目标位置的坐标x2,y2 传递给该子函数,从而判别士(仕)的行走是否符合规则。4.checkbing ( ) 函数原型: int checkbing(int x1,int y1,int x2,int y2,int table10) checkbing( )函数控制棋子士(仕)的正确行走,通过主函数将初始位置的坐标x1,y1 与目标位置的坐标x2,y2 传递给该子函数,从而判别士(仕)的行走是否符合规则。四、代码实现1. 帅(将
10、)int checkshuai(int x1,int y1,int x2,int y2,int table10) if (x210 | y26)&(x23 | y26) /控制棋子的行走范围是在自己领域的九宫格内 printf(n 将或者帅是不能移出九宫区域的,重新输入吧 !n); return 0; / 规则错误后出现提示信息并且返回0进行重新输入 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 14 页 - - - - - - - - - else if (abs(x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C语言课程设计-中国象棋 2022 语言 课程设计 中国象棋

限制150内