1、 附件三 目录格式第一章 系统功能说明1第二章 使用说明221 安装手册322 使用手册4第三章 程序结构531 程序结构说明.632 重要数据说明.733 函数清单8第四章 系统设计难点及其解决方法9第五章 不足之处.10第一章 系统功能说明井字游戏的游戏界面是一个3*3的格子,系统提示玩家输入棋子的坐标来表示要下的棋子的位置,如果玩家输入的坐标所在位置已经有棋子或者该坐标已经超出了游戏坐标的范围,就提示玩家重新输入坐标,。当有三个棋子在一条直线上的时候就结束游戏,并输出哪个玩家赢了。第二章 使用说明2.1安装手册将游戏压缩文件下载到指定文件夹,解压文件到当前文件夹,双击文件名为“井字棋游戏
2、.EXE”的图标即可进入游戏。2.2使用手册游戏规则:玩家1和玩家2各自输入自己的棋子坐标,来表示棋子的位置。如果某个玩家有三个棋子连成一条直线,则该玩家胜利,游戏结束。第三章 程序结构 31 程序结构说明先定义变量,然后画出井字棋盘,再利用一个for循环输出每一步的结果,输出结果之后改变玩家的序号,接下来就是语句,提示玩家输入棋子的坐标,之后再判断输入的棋子的位置是否有效(即是否超出游戏的范围或该位置已经有棋子占据了。接着用if语句来判断游戏是否结束,结束的条件有两个,一:某个玩家赢了;二:有效的游戏次数已经达到了九次。最后输出游戏的结果。32 重要数据说明玩家输入的坐标必须都是在0到2里面
3、的(包括0和2)。33 函数清单#includevoid main() int hang,lie,count=0,player,ying=0; /变量的定义char weizhi33= -, ; /画出棋盘 for(int i=0;i=9&ying=0;i+) /每一步的输出处理 printf(nn);0 1 2n0 %c %c %cn,weizhi00,weizhi01,weizhi02);1 %c %c %cn,weizhi10,weizhi11,weizhi12);2 %c %c %cn,weizhi20,weizhi21,weizhi22); player=i%2+1; /更改玩家的序
4、 don 玩家%d:请输入您的棋子位置(%c) : ,player,(player=1) ? 1:2 scanf(%d%d,&hang,&lie); /输入坐标即可 if(weizhihanglie=|weizhihanglie=)n对不起!这个位置已经有棋子了,请您再输入棋子的位置:n /do语句结束 while(hang2|lie2|weizhihanglie= ; /如果weizhihanglie这个位置被占据或超出题目范围的话,不做任何处理 weizhihanglie=(player=1)?; /如果没超出范围的话,就将该位置的符号改为相应的玩家的符号. count+; /每接受一个有
5、效的坐标之后,就记数 if(weizhi00=weizhi11&weizhi00=weizhi22&weizhi22!=)| (weizhi02=weizhi11&weizhi02=weizhi20&weizhi20! (weizhi00=weizhi10&weizhi20=weizhi10&weizhi10! (weizhi01=weizhi11&weizhi21=weizhi11&weizhi11! (weizhi02=weizhi12&weizhi22=weizhi02&weizhi02! (weizhi00=weizhi01&weizhi00=weizhi02& (weizhi10=w
6、eizhi11&weizhi12=weizhi11& (weizhi20=weizhi21&weizhi22=weizhi21&weizhi21!) /列出所有可能出现的情况,判断玩家是否已赢(即是否有三个棋子在一条直线上) ying=player;/判断是哪个玩家赢了 break; /for语句到此结束 else if (count=9) break;/当游戏进行了九次的时候就结束 /输出部分%c %c %cn if(ying=0)n实力相当!此局平局! elsen恭喜玩家%d!您赢了!,ying);/整个函数结束第四章 系统设计难点及其解决方法井字棋游戏程序设计的难点有以下方面:1:判断玩
7、家输入的坐标时候有效及坐标的位置是否已经被占据。利用while语句进行判断即可。2:判断游戏是否已经结束。解决的方法:通过记数的方法和列出所有可能存在的游戏结束的情况。第五章 不足之处游戏界面太单一,输出的棋盘太小等等。表1 进度安排表C语言课程设计进度表选题名称:井字棋班级: 计101本 学号:10104010116 姓名:卓明镜 任课教师: 曹红 一、系统设计 起始时间及计划完成时间: 2011年6月24日上午至2011年6月27日下午二、系统实现 起始时间及计划完成时间: 2011年6月28日上午至2011年6月29日下午三、测试 起始时间及计划完成时间: 2011年6月29日上午至20
8、11年6月29日下午表2 中期报告表C语言课程设计中期报告(系统设计)井字棋 101040101016 姓名: 曹红 起始时间及计划完成时间:6月24日6月29日 一、题目(问题)描述要求:1实现一个可两个人玩的井字棋游戏。说明:1井字棋”的棋盘很简单,是一个33的格子,很像中国文字中的“井”字,所以得名“井字棋”。“井字棋”游戏的规则与“五子棋”十分类似,“五子棋”的规则是一方首先五子连成一线就胜利;“井字棋”是一方首先三子连成一线就胜利。2棋盘可能一个33的二维数组表示,玩家可以通过输入坐标(X,Y)来表示下在何处,如果上面有棋子则需重下,如果两方不能赢则为平局。二、问题分析 :棋盘格式是
9、3*3的矩阵格式,所以可以用二维数组来表示棋盘的各个位置,再对各个位置进行初始化,玩家可通过输入坐标(hang,lie)来表示下在何处,之后只要有一方先三子连成一条直线就表示该玩家胜利并结束,否则为平局。三、系统设计 1程序总体结构:先使用一个for循环输出3*3的棋盘格式,然后提示玩家输入棋子位置,接着就是判断该位置是否已经有棋子,如果有,则提示玩家再输入棋子的位置,否则,判断玩家是否最后再输出最后棋盘的结果。2界面设计 :界面背景是黑色的,左上角是3*3的棋盘格式,玩家可以通过输入坐标(hang,lie)来表示下在何处,如果上面有棋子则需重下,如果两方不能赢则为平局则棋盘上对应的位置就会显示该玩家的代表符号,每走一步,就会显示新的棋盘。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1