关于的C++课程设计报告.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于的C++课程设计报告.doc

  关于的C++课程设计报告 关于的C++课程设计报告 导读: 西安科技大学计算机学院软件工程 2012 级 C++课程设计报告一、题目:利用 C++实现中国象棋程序 问题(或功能)描述: 1.走棋和吃子 对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜、负、和,对局即终 了。 轮到走棋的一方,将某个棋子从一个交叉点走到另一个交叉点,或者吃掉对方的棋子而 占领其交叉点,都算走一着。 双方各走一着,称为一个回合。 2、各种棋子的走法 帅(将):帅和将是棋中的首脑,是双方竭力争夺的目标。 它只能在;九宫;之内活动,可 上可下,可左可右,每次走动只能按竖线或横 线走动一格。 帅与将不能在同一直线上直接 对面,否则走方判负。 仕(士):仕(士)是帅(将)的贴身保镖,它也只能在九宫内走动。 它的行棋路径只能 是九宫内的斜线。 相(象):相(象)的主要作用是防守,保护自己的帅(将)。 它的走法是每次循对角线 走两格,俗称;象走田;。 相(象)的活动范围限于;河界;以内的本方阵地,不能过河,且如 果它走的;田;字 有一个棋子,就不能走,俗称;塞象眼;。 车:车在象棋中威力最大,无论横线、竖线均可行走,只要无子阻拦,步数不受限制。 因 此,一车可以控制十七个点,故有;一车十子寒;之称。 炮:炮在不吃子的时候,走动与车完全相同。 炮与被吃子之间必须隔一个棋子,进行跳吃, 俗称;架炮;或;炮打隔子;。 马:马走动的方法是一直一斜,即先横着或直着走一格,然后再斜着走一个对角线,俗称; 马走日;。 马一次可走的选择点可以达到四周的八个点,故有;八面威风;之说。 如果在要去 的方向有别的棋子挡住,马就无法走过去,俗称;蹩马腿;。 兵(卒):兵(卒)在未过河前,只能向前一步步走,过河以后,除不能后退外,允许左 右移动,但也只能一次一步。 3、吃子:任何棋子走动时,如果目标位置上有对方的棋子,就可以把对方的棋子拿出棋盘, 再换上自己的棋子(即;吃子;)。 4 问题的描述: 根据中国象棋的棋盘与规则, 分别输入甲方与乙方的对弈要求 (如车 9 进 2, 马 5 退 4) , 实现人人X络方式的对弈(对不合适的操作可以识别) 。 象棋是一种双方对阵的竞技项目。 棋子共有三十二个,分为红黑两组,各有十六个,由 对弈的双方各执一组。 兵种是一样的,分为七种: 红方:红方有帅一个,仕、相、车、马、炮各两个,兵五个。 黑方: 黑方有将一个,士、象、车、马、炮各两个,卒五个。 其中帅与将;仕与士;相与象;兵与卒的作用完全相同,仅仅是为了区别红棋和黑棋而 已。 棋子活动的场所,叫作;棋盘;。 在长方形的平面上,绘有九条平行的竖线和十条平行的 横线相交组成,共有九十个交叉点,棋子就摆在交叉点上。 中间部分,也就是棋盘的第五, 第六两横线之间末画竖线的空白地带称为“河界”。 两端的中间,也就是两端第四条到第六条第 1 页 共 1 3 4 5 6 7 8 9 10 关于的C++课程设计报告 导读:12,13,14,15;兵为17,炮为16;绿子棋子:x=x=i+20;既从车到帅对应的数为:21,22,23,24,25;卒为27,炮为26;具体如下图:第2页共2页 西安科技大学计算机学院软件工程2012级C++课程设计报告1棋盘棋子表示使用位棋盘技术,我们的棋盘是一个大小为16x16的二维数组,即程序里的ucpcSquar 页 西安科技大学计算机学院软件工程 2012 级 C++课程设计报告竖线之间的正方形部位,以斜交叉线构成“米”字方格的地方,叫作“九宫”(它恰好有九个交 叉点)。 整个棋盘以“河界”分为相等的两部分。 为了比赛记录和学习棋谱方便起见,现行规则规 定:按九条竖线从右至左用中文数字一-九来表示红方的每条竖线,用阿拉伯数字1~9来 表示黑方的每条竖线。 对弈开始之前,红黑双方应该把棋子摆放在规定的位置。 任何棋子每 走一步,进就写“进”,退就写“退”,如果像车一样横着走,就写“平”。 任何棋子在走动时, 如果乙方棋子可以到达的位置有对方的棋子, 就可以把对方棋子拿 出棋盘(称为吃子)而换上自己的棋子。 只有炮的;吃子;方式与它的走法不同:它和对方棋子 之间必须隔一个子(无论是自己的还是对方的),具备此条件才能; 吃掉;人家。 一定要注意,中隔一个棋子,这个棋子俗称“炮架子”。 帅和将被吃或不能动弹 即输棋。 二、编程要点(或基本思路、算法分析与说明) : 首先将棋盘的每一格坐标化,横坐标从 01 开始到 09。 纵坐标从 01 开始到 10,初始横 坐标 01 行上摆放红子棋子,01 放车、02 放马、03 放象、04 放士、05 放帅,06、07、08、 09 对称放士、象、马、车。 横坐标 03 行 02

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档