C语言课程设计 一担挑游戏doc.doc

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

中 国 地 质 大 学 本科生课程论文封面 2011年12月 课程设计评语 对课程论文的评语: 平时成绩: 课程论文成绩: 总 成 绩: 评阅人签名: 注:1、无评阅人签名成绩无效; 2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。 目 录 课程设计评语 2 目 录 3 1.课程论文题目 4 2.程序设计思路 4 3.功能模块图 5 4.数据结构设计 5 5.算法设计 6 6.程序代码 13 7.程序运行结果 22 8.编程中遇到的困难及解决方法 25 9.总结心得及良好建议 26 10.致谢 26 一 课程论文题目 :一担挑游戏 二.程序设计思路 1 题目要求: 1.计算机移动是,使用相应函数扫描棋盘矩阵,寻找未占单元;发现空单元后,置为“0”;为发现时,报告平局退出。 2.轮到对弈者时,使用相应函数要求对弈者回答想把“X”放在哪里。 3.谁先三点连成一线了,则报告谁胜出。 4.计算机与对弈者每下一步棋都会使相应位置变为“0”和“X”,便于在屏上显示矩阵。Char qi pan[3][3]; Void init_qipan(void); {int i,j; for(i=0;i3;i++) for(j=0:j3;j++) qipan[i][j]=’ ’ } 五.算法设计 1.主函数:较为简单,只有数据输入,功能处理等函数调用。 流程图 2各功能模块设计 棋盘输入 用二维数组构筑了棋盘,用间隔线分割棋盘后,就可以按自己意愿和计算机对弈了,此后每一步计算机都会调用相应的函数扫描棋盘。 Char qi pan[3][3]; Void init_qipan(void); {int i,j; for(i=0;i3;i++) for(j=0:j3;j++) qipan[i][j]=’ ’ (2)对弈模块 模块是提供用户模拟棋盘按用户自己的思想来下棋,这期间涉及两种情况1用户输入错误,2棋子位置错误。 /*************用户方面对弈************/ void player_move(void) { int x,y; printf(Its your turn,please:); scanf(%d%*c%d,x,y); x--;y--; if(qipan[x][y]!= ) { printf(Error, try again.\n); player_move(); } else qipan[x][y]=X; } /**************计算机方面对弈*********/ void computer_move(void) { int i,j; for(i=0;i3;i++) { for(j=0;j3;j++) if(qipan[i][j]== ) break; if(qipan[i][j]== ) break; } if(i*j==9) { printf(pingju\n); exit(0); } else qipan[i][j]=0; } (3)显现模块 显示模块 【需求分析】 该模块的作用是显示对弈结果。即要求计算机调用相关的函数多次扫描棋盘,谁的棋优先连成一线了,计算机就判定谁胜出:这期间有三种情况;1.用户是胜者,2.计算机胜出,3.二者打成平局. 【程序】 void disp(void) { int t; for(t=0;t3;t++) { printf(%c|%c|%c,qipan[t][0],qipan[t][1],qipan[t][2]); if(t!=2) printf(\n-|-|-\n); } printf(\n); } char check(void) { int i; for(i=0;i3;i++) if(qipan[i][0]==qipan[i][1]qipan[i][0]==qipan[i][2]) return qipan[i][0]; for(i=0;i3;i++) if(qipan[0][i]==qipan[1][i]qipan[0][i]==qipan[2][i]) return qipan[0][i]; for(i=0;i3;i++) if(qipan[0][0]==qipan[1][1]qipan[0][0]==qipan[2][2]) return qipan[0][0]; for(i=0;i3;i++) if(qipan[0][2]==qipan[1][1]qipan[1][1]==qipan[2][0]) return qipan[0][2]; return ; } 六.程序代码 #i

文档评论(0)

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

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

1亿VIP精品文档

相关文档