好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

课程设计(论文)二人对战象棋.doc

33页
  • 卖家[上传人]:m****
  • 文档编号:553328554
  • 上传时间:2024-01-11
  • 文档格式:DOC
  • 文档大小:264KB
  • / 33 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 课程设计报告书 目 录1.问题描述 ……………………………………………………………2.1.题目内容 ………………………………………………………… 22.基本要求 ………………………………………………………… 22.需求分析 ……………………………………………………………21.软件的基本功能 ………………………………………………… 22.输入/输出形式 ………………………………………………… 23.概要设计 ……………………………………………………………2.1.表现手法 ………………………………………………………… 22.流程图 …………………………………………………………… 33.层次关系 ………………………………………………………… 44.详细设计 …………………………………………………………… 4 1.数据成员、成员函数 …………………………………………… 4 2.伪代码算法 ………………………………………………………45.编码与调试分析 …………………………………………………….61.源代码 …………………………………………………………….62.调试分析 …………………………………………………………29.6.使用说明 ………………………………………………………… 297.测试结果 …………………………………………………………… 30.8.实习心得体会 ………………………………………………………331. 问题描述:本次程序设计实验所选题目为:双人象棋要求:设计棋盘,棋子等数据,两个玩家可以依次输入数据控制某一个棋子的移动,并且可以判断一步棋是否合法,不合法不能移动,游戏可以存档,读档,记录下棋的过程,如能按棋谱走棋更佳。

      2. 需要分析: 1.软件的基本功能 初始化棋局、输出棋局、输入坐标、改变旗子后再次输出、顺序下棋、游戏未结束的循环控制2.输入/输出形式 通过输入数字坐标,控制相应旗子;输出通过字符组合出来的棋局,并附有相应提示3. 概要设计:1. 如何表现棋局 棋局的表现方式是本题目中最重要的问题,盖因棋局的表现方式直接决定着其他问题的解决办法 原来的最初设计,是主体为10*9的二维数组000000000 车马相士将士象马车 000000000 000000000 炮 炮 000000000 兵 兵 兵 兵 兵 000000000 000000000 000000000卒 卒 卒 卒 卒 000000000 砲 砲 000000000 000000000車馬象仕将仕象馬車将数组的每一位对应为棋盘中的一处落点,并且通过行列数作为坐标,用以定位每个落脚点。

      通过坐标的输入达到交互目的旗子则通过将所在落点附以不同的值,来调用相应图片实现表现棋局然而,由于不知如何调用图片,作罢在参考网上资料以及与做相同题目的同学讨论后,二维数组主体和坐标输入思想不变,在表现上选择现在作品所采用的:直接在窗口用字符拼出棋盘的方法来表现棋局,并且用 switch语句来输出特定数组值对应的旗子switch(a[i][j]){case x : printf("y");break;...case x : printf("y");break; default:;} 2. 流程图: 3. 主函数层次:main(){ 初始化 输出棋盘 For(;;){ 输入始末坐标(红) 合法判断(红) 下棋生效 输出棋盘 输入始末坐标(黑) 合法判断(黑) 下棋生效 输出棋盘}结束}4. 详细设计:1.数据成员、成员函数:包含大循环的主函数:数据成员:二维数组 a[i][j] ; 坐标数字 i,j ; 主将特殊坐标 m1,n1,m2,n2;初末坐标 k,l,m,n; 其余形参 x,y,o,p,(一般是赋予末坐标m,n后用于较) 成员函数: 输出函数 display()2.伪码算法:主函数: int main(){{//初始化 start}{//输出 display}for(;;){{//红旗输入 get1}{ //红旗规则 rule1 }{//下棋生效 chang}{//是否吃掉黑方主将 end}{//是否将帅直面 rule3 }{//输出 display}{//是否将军 }{//黑棋输入 get2}{//黑棋规则 rule2}{//下棋生效 chang}{//是否吃掉红方主帅 end}{//将帅是否直面 rule3}{//输出 display}{//是否将军}}}输出函数:Display(){ 输出横坐标输出上半棋盘边框 输出上半棋盘 输出界河 输出下半棋盘边框 输出下半棋盘 输出纵坐标}5. 编码与调试分析:1. 源代码:display.h //display 头文件 #includeint i,j,a[11][10];void display() //定义display() 输出函数 { printf("***************中国象棋***************\n");//首部 for(i=0;i<=4;i++) //输出上半部分棋盘a[i][j](0<=i<=4,0<=j<9) { printf("*%d ",i+1); //输出 横坐标 for(j=1;j<=9;j++) { if (j!=9) { switch(a[i][j]) //输出 旗子 { case 0 :printf("++");break; case 11 :printf("车");break; case 12 :printf("马");break; case 13 :printf("相");break; case 14 :printf("士");break; case 15 :printf("帅");break; case 16 :printf("炮");break; case 17 :printf("兵");break; case 21 :printf("車");break; case 22 :printf("馬");break; case 23 :printf("象");break; case 24 :printf("仕");break; case 25 :printf("将");break; case 26 :printf("砲");break; case 27 :printf("卒");break; default:; } printf("-"); printf("-"); //为了形成棋盘上的纵横线 } else { switch(a[i][j]) { case 0 :printf("++");break; case 11 :printf("车");break; case 12 :printf("马");break; case 13 :printf("相");break; case 14 :printf("士");break; case 15 :printf("帅");break; case 16 :printf("炮");break; case 17 :printf("兵");break; case 21 :printf("車");break; case 22 :printf("馬");break; case 23 :printf("象");break; case 24 :printf("仕");break; case 25 :printf("将");break; case 26 :printf("砲");break; case 27 :printf("卒");break; default:; } printf("\n"); } } if(i+1==5) { continue; } else { if(i+1==1) { printf("* | | | | \\ | / | | | |*\n");//为了形成棋盘上半方的宫以及纵横线 } else { if(i+1==2) { printf("* | | | | / | \\ | | | |*\n"); } else { printf("* | | | | | | | | |*\n"); //为了形成棋盘上半方的纵横线 } } } } { printf(" | 汉 界 楚 河 |\n");。

      点击阅读更多内容
      相关文档
      2023年湖北省孝感市应城市东马坊街道招聘社区工作者真题附详细解析.docx (2025秋新版)部编版二年级语文上册全册教学设计.docx 2024年河北省邯郸市魏县北皋镇招聘社区工作者真题参考答案详解.docx 2023年湖南省郴州市桂阳县黄沙坪镇招聘社区工作者真题附详解.docx 2021-2025年中级银行从业资格之中级个人理财通关试题库附完整答案详解【题】.docx 2025年吉林省“入团积极分子”学习考试库及参考答案详解1套.docx 2024年湖南省怀化市沅陵县五强溪镇招聘社区工作者真题参考答案详解.docx 2023年浙江省温州市文成县桂山乡招聘社区工作者真题附详细解析.docx 新人教版二年级数学下册全册教案(非表格式216页).docx 2025年东营市入团积极分子考试题库及参考答案详解.docx 2024年甘肃省陇南市徽县伏家镇招聘社区工作者真题及答案详解1套.docx 2023年湖北省十堰市竹山县官渡镇招聘社区工作者真题带答案详解.docx (2025秋新版)北师大版二年级上册数学全册教学设计.docx 2025年海南省事业单位招聘考试公共基础知识考试试题库及答案详解(全国).docx 2024年河南省漯河市源汇区老街街道招聘社区工作者真题附答案详解.docx 2023年湖南省衡阳市常宁市三角塘镇招聘社区工作者真题带题目详解.docx 2021年CAAC四类无人机执照考试复习题库资料及答案详解一套.docx 统编版五年级上册语文全册教案(表格式).docx 2025年白城市入团考试题库及参考答案详解.docx 2024年黑龙江省齐齐哈尔市克山县向华乡招聘社区工作者真题带答案详解.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.