已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学程序语言综合课程设计五子棋游戏课程程序语言综合课程设计信息科学与技术学院专业软件工程西方人名的第一个字学校编号日期:2016年1月目录第一章课程设计的目的和要求31.1课程设计的目的31.2课程设计要求31.3课程设计的实验环境3第二章功能描述4第三章总体设计53.1功能模块设计53.1.1任务实施流程图53.1.2象棋功能流程图63.2数据结构设计73.2.1结构7的定义3.2.2定义数组73.2.3全局变量73.3功能描述7第四章方案实施84.1源代码分析84.2操作结果和界面介绍22第五章后记27第一章课程设计的目的和要求1.1课程设计的目的1.加深对C语言数据类型、操作、句子结构和程序设计基本方法的理解和掌握;2.精通绘制流程图和编写程序设计文件;3.通过写一个完整的程序,一方面,我们可以检查我们这学期的学习,为以后的学习打下坚实的基础。4.熟悉C语言游戏编程,掌握五子棋游戏开发的基本原理,从而为以后的程序开发打下基础。1.2课程设计要求1.编写程序代码并调试编写的程序,使其正确运行;2、能进行基本五子棋操作,有图形界面,能使用键盘操作;3、可以实现后悔棋、存档和读取文件等附加功能1.3课程设计的实验环境课程设计在设计和实验过程中需要在windows XP系统/windows 2000或以上环境下进行。程序设计需要在visual C 6.0平台上进行,完成代码的编译、编译、调试和测试。这个游戏只需要很少的计算机硬件和操作系统,所以这里我们只列出我们自己的计算机硬件参数和系统参数:硬件:Cpu:2.1GHZ,内存,2GB,硬盘:320GB,操作系统:windows xp软件环境:安装VC 6.0第二章功能描述该程序使用C语言实现五子棋游戏,并能执行基本的五子棋操作。该程序可实现界面初始化功能、下棋功能、人机智能战斗功能、结果判断功能、棋悔功能、文件读取和存档功能,并通过键盘操作控制下棋。(1)显示欢迎界面。在游戏开始的时候,一个欢迎界面出现了,游戏规则也介绍了。(2)初始化功能。该程序初始化屏幕和棋盘,默认玩家先走。(3)下棋。利用W、S、A、D和空格键实现下棋操作,下棋时可随时按ESC键退出。(4)人机智能报警功能。计算机根据玩家下棋的情况智能分析棋盘,然后下棋实现人机对弈。(5)后悔棋功能。玩家有三次后悔的机会。(6)结果判断功能。这个程序可以判断下棋的结果并决定结果。向胜利者展示。(7)文件读取和归档功能。在游戏中途退出将提示是否保存它。如果保存了,系统会提示您是否要读取文件并在下一次开始时继续最后一个游戏。第三章总体设计3.1功能模块设计开始3.1.1任务执行流程图初始化程序按Esc玩家下棋按Esc运动员赢了吗?不,是的电脑象棋展示玩家胜利信息计算机赢了吗?不是显示计算机胜利信息目标3.1.2象棋功能流程图目标向键值指示的方向移动一步钥匙=空间?显示获奖信息钥匙=电子稳定控制?这两者有什么区别?玩家赢了?下一步是超越边界?交换棋手画棋子来显示运动轨迹。获取键值值为“b”开始是的,不不是不,是的不否是3.2数据结构设计3.2.1定义结构体将棋盘上每个点的左边定义为一个结构体;typedef结构int x,y;点;3.2.2定义数组定义数组1515表示棋盘,用来记录棋盘上每个棋子的状态;3.2.3全局变量定义整形数组回到4用来记录前两步双方下棋的状态,便于后面进行悔棋操作定义整形n=3;用来记录悔棋次数3.3函数功能描述1 、显示欢迎信息弯曲件欢迎();2、初始化棋盘void InitBoard();3、输出棋盘空的棋盘();4、判断胜负国际温(char c);5、下棋无效播放(r点);6、显示获胜void showsusced(char c);7 、悔棋布尔背靠背(国际背对);8、人机对战智能算法void ComalGo(r点);9、存盘函数bool SaveLoad();10、读盘函数bool DownLoad();第四章程序实现4.1源码分析1 、显示欢迎信息弯曲件欢迎()char chprintf( n n n n );printf(n);printf(欢迎你来到五子棋世界!n);printf(1、You可以用a、d、w和s键移动棋子;n);移动后printf(2、You可以按空格键进入;n);printf(3、You可以使用转义字符键退出游戏;n);printf(4、Dont把棋子移出棋盘。n);printf(你想继续吗?(n);printf(n);同时(!YN,ch=toupper(getch()放入字符( a);如果(ch=N)返回假;否则返回真;2、初始化棋盘void InitBoard()char chint i,j;printf(nn是否读档?(是/否) N ;if(ch=to upper(getch()=Y DownLoad()printf(读档成功! n );其他对于(1=0;一。15;对于(j=0;j 15j);棋盘();3、输出棋盘虚空棋盘()/清屏系统(“cls”);/输出棋盘的上边缘printf( 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 n );n;printf(n);对于(整数1=1;i=15(I)/输出列序号及相应的列元素printf(d;对于(int j=1;j=15j)开关(电路板i - 1j - 1)/(由于在命令行模式下显示,所以,颜色是颠倒的)判例: printf();休息;/如果当前位置无子,则输出棋盘判例h : printf();休息;/如果是黑子,则输出黑子的符号案例b : printf(“”);休息;/如果是白子,则输出白子的符号案例g : printf( );休息;/显示光标/输出每列的最后一个制表符printf(dn;printf(n);printf(;printf( 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 n );4、下棋无效播放(r点)茶键,c;做同时(!strchr(ADWSZ ),键=toupper(getch()if(key=27 | | key=32)break;放入字符( a);开关(钥匙)案例A: /向左如果(r.y=1)断开;else r . y-;c=r . x-1r . y-1;/记录光标r . x-1r . y-1=g;棋盘();r . x-1r . y-1=c;休息;案例D: /向右如果(r.y=15)断开;还有r.y .c=r . x-1r . y-1;r . x-1r . y-1=g;棋盘();r . x-1r . y-1=c;休息;案例W: /向上如果(r.x=1)断开;其他r . x-;c=r . x-1r . y-1;r . x-1r . y-1=g;棋盘();r . x-1r . y-1=c;休息;案例S: /向下如果(r.x=15)断开;else r.x .c=r . x-1r . y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浅论计算机在水库管理方面的应用
- 博士论文答辩评语
- 商学院2025届财会毕业论文选题
- 议论文怎么写素材范文9
- 硕士论文评语模板
- 汉语言文学的应用性分析【论文】
- 能源行业智能电网优化调度系统设计方案
- 毕业论文(设计)计划任务书
- 审计学论文题目124个
- 企业会计伦理与道德论文题目107例
- 2026年东营科技职业学院单招综合素质考试题库及答案1套
- 广东5年(2021-2025)高考生物真题分类汇编:专题04 遗传的基本规律(原卷版)
- 2025-2030律师事务所行业战略联盟与协同发展研究报告
- 《回弹法检测混凝土抗压强度技术规程》
- 抖音公会运营知识培训课件
- 摄影运镜技术
- 酒吧应急预案大全
- 住房公积金政策宣传课件
- 穿越机组装教学课件
- 消化内镜教学课件
- (2025年标准)狗奴契约协议书
评论
0/150
提交评论