c语言课程设计-- 一担挑游戏

c语言课程设计-- 一担挑游戏

ID:2075974

大小:132.94 KB

页数:13页

时间:2017-11-14

c语言课程设计-- 一担挑游戏_第1页
c语言课程设计-- 一担挑游戏_第2页
c语言课程设计-- 一担挑游戏_第3页
c语言课程设计-- 一担挑游戏_第4页
c语言课程设计-- 一担挑游戏_第5页
资源描述:

《c语言课程设计-- 一担挑游戏》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、中国地质大学本科生课程论文封面2011年12月13课程设计评语对课程论文的评语:平时成绩:课程论文成绩:总成绩:评阅人签名:注:1、无评阅人签名成绩无效;2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。13目录课程设计评语2目录31.课程论文题目42.程序设计思路43.功能模块图54.数据结构设计55.算法设计66.程序代码137.程序运行结果228.编程中遇到的困难及解决方法259.总结心得及良好建议2610.致谢2613一课程论文题目:一担挑游戏二.程序设计思路1题目要求:1.计算机移动是,使用相应函数扫描棋盘矩阵,寻找未占单元

2、;发现空单元后,置为“0”;为发现时,报告平局退出。2.轮到对弈者时,使用相应函数要求对弈者回答想把“X”放在哪里。3.谁先三点连成一线了,则报告谁胜出。4.计算机与对弈者每下一步棋都会使相应位置变为“0”和“X”,便于在屏上显示矩阵。2需求分析根据题目要求,由于程序要求计算机模拟棋盘对练,所以系统涉及到了二维数组的引用:同时,在对弈期间,计算机移动时系统要不停得扫描棋盘矩阵来寻找未占单元,所以程序提供了显示,浏览,查找,排序等操作:另外系统还能提供键盘式的选择菜单来实现功能的选择。退出空挡检查棋盘输入一担挑三.功能模块图四.数据结构设计用二维数组构筑了棋盘,用间隔线分割棋盘后,就可以

3、按自己意愿和计算机对弈了,此后每一步计算机都会调用相应的函数扫描棋盘。13Charqipan[3][3];Voidinit_qipan(void);{inti,j;for(i=0;i<3;i++)for(j=0:j<3;j++)qipan[i][j]=’’}五.算法设计1.主函数:较为简单,只有数据输入,功能处理等函数调用。流程图开始构造棋盘,输入数据输入二维数组(I,j,)根据数据调用各功能模块的相应函数结果显示检查棋盘空挡结束2各功能模块设计(1)棋盘输入13用二维数组构筑了棋盘,用间隔线分割棋盘后,就可以按自己意愿和计算机对弈了,此后每一步计算机都会调用相应的函数扫描棋盘。Cha

4、rqipan[3][3];Voidinit_qipan(void);{inti,j;for(i=0;i<3;i++)for(j=0:j<3;j++)qipan[i][j]=’’(2)对弈模块模块是提供用户模拟棋盘按用户自己的思想来下棋,这期间涉及两种情况1用户输入错误,2棋子位置错误。/*************用户方面对弈************/voidplayer_move(void){intx,y;printf("It'syourturn,please:");scanf("%d%*c%d",&x,&y);x--;y--;if(qipan[x][y]!=''){printf("E

5、rror,tryagain.");player_move();}elseqipan[x][y]='X';}/**************计算机方面对弈*********/voidcomputer_move(void){inti,j;for(i=0;i<3;i++){for(j=0;j<3;j++)if(qipan[i][j]=='')break;if(qipan[i][j]=='')break;}if(i*j==9){printf("pingju");exit(0);}13elseqipan[i][j]='0';}(3)显现模块显示模块【需求分析】该模块的作用是显示对弈结果。即

6、要求计算机调用相关的函数多次扫描棋盘,谁的棋优先连成一线了,计算机就判定谁胜出:这期间有三种情况;1.用户是胜者,2.计算机胜出,3.二者打成平局.【程序】voiddisp(void){intt;for(t=0;t<3;t++){printf("%c

7、%c

8、%c",qipan[t][0],qipan[t][1],qipan[t][2]);if(t!=2)printf("-

9、-

10、-");}printf("");}charcheck(void){inti;for(i=0;i<3;i++)if(qipan[i][0]==qipan[i][1]&&qipan[i][0]==qipa

11、n[i][2])returnqipan[i][0];for(i=0;i<3;i++)if(qipan[0][i]==qipan[1][i]&&qipan[0][i]==qipan[2][i])returnqipan[0][i];for(i=0;i<3;i++)if(qipan[0][0]==qipan[1][1]&&qipan[0][0]==qipan[2][2])returnqipan[0][0];for(i=0;i<3;i++)if(qip

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。