一个C语言猜字游戏的设计

上传人:jiups****uk12 文档编号:38342405 上传时间:2018-04-30 格式:PDF 页数:3 大小:1.88MB
返回 下载 相关 举报
一个C语言猜字游戏的设计_第1页
第1页 / 共3页
一个C语言猜字游戏的设计_第2页
第2页 / 共3页
一个C语言猜字游戏的设计_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《一个C语言猜字游戏的设计》由会员分享,可在线阅读,更多相关《一个C语言猜字游戏的设计(3页珍藏版)》请在金锄头文库上搜索。

1、166无线互联科技设计分析 一个C语言猜字游戏的设计朱云霞(天津电子信息职业技术学院, 天津 300350)摘 要: 作为高校很多专业的入门计算机编程语言, C语言有着强大的应用能力。 本文介绍了猜字游戏的从设计到C语言实现的全过程, 综合运用了C语言的各方面知识, 体现了结构化的程序设计思想, 以提高学生对C语言的认识水平。关键词: C语言; 猜字游戏; 结构化作者简介:朱云霞 (1980-) , 女, 安徽淮南人, 计算机应用技术硕士, 讲师, 任职于天津电子信息职业技术学院, 研究方向: 软件工程。C语言是一门面向过程的结构化程序设计语言, 也是很多高校理科、 工科专业的入门计算机语言。

2、 在多数的教学环节中, 教学止步于结构体、 文件等的基本操作, 而缺乏一个总体应用的教学环节, 使得很多学生对C语言的认知停留在零碎知识阶段。本文通过一个简单猜字游戏的设计, 希望能让学生更熟练掌握结构化程序设计的思路和方法, 整合C语言的各部分知识, 提升C语言的应用能力。 1 游戏功能说明1.1 游戏过程系统产生一个不重复的N位随机数 (N的大小设置为等级相关: 如初级设置为2, 中级设置为3, 高级设置为4) ;玩家输入所猜测的不重复N位数, 按回车提交 (如果输入的数字个数应与N一致, 若不一致, 应当重新输入) ;系统比对产生的随机数和提交的猜测数, 输出形如“A*B*” 的提示信息

3、 (该信息中A后的数字代表数值正确、 位置也正确的数目, B后的数字代表数值正确但位置不正确的数目,如 “A1B2” , 表示玩家已经猜出了3个数字, 其中有1个数值正确位置也正确, 有2个猜对了数值, 但位置不对) ;以上的后两步骤重复进行, 但系统可以限定猜测比对次数。 在规定次数以内猜测成功, 即为游戏成功, 否则, 游戏失败。 猜数次数也可设置与等级相关: 如初级设置为9次, 中级设置为8次, 高级设置为7次。 1.2 游戏结果排行按游戏完成所猜数的次数为主关键字, 历时时间为次关键字, 对游戏结果进行排序统计。 在最佳排行中显示前五的记录,若玩家的成绩高于已有的记录, 则提示输入玩家

4、信息, 并更新最佳排行。 2 总体设计根据上述的游戏功能说明, 将猜字游戏的模块设计如图1所示:“系统功能菜单”模块: 用于玩家进行操作选择, 也是本游戏的入口, 玩家在此选择相应模块并调用对应的功能。“开始游戏” 模块: 根据游戏等级设置的猜数位数和猜数次数, 记录游戏的开始时间和结束时间, 并显示游戏结果。“等级设置”模块: 设置游戏的初、 中、 高级别, 等级信息保存于文件。 初次游戏的默认等级为初级, 而下次打开游戏时默认等级为上次退出时的等级。“最佳排行”模块: 显示当前等级的前五佳成绩, 不同等级的排行存放于不同文件。“游戏说明” 模块: 显示游戏玩法规则。“退出游戏” 模块: 退

5、出游戏并显示相应信息。 3 详细设计3.1 数据结构设计本游戏中涉及的主要数据结构是存放玩家最高分信息的结构体, 具体如下:typedef struct long int data;char name10;char grade5;int hour;int minute;int second; Record; 3.2 程序流程游戏从功能菜单的选择开始执行, 依据玩家的选择进行相应的处理直到退出游戏为止。 程序流程图如图2所示。3.3 函数原型及功能说明3.3.1 选择菜单函数: void Menu()功能: 此函数的功能是依据玩家的选择项进行相应处理,直到玩家选择退出游戏为止, 包括开始游戏、

6、等级设置、 最佳排行、 游戏说明、 退出游戏等选择项。图1 游戏功能模块图2 游戏流程图(下转第207页)207无线互联科技管理论衡新, 我们不需要进入增霸卡程序改保护, 可直接在开机的时候按“Ctrl+Enter” 进入系统对系统进行更新, 又或者直接对系统进行更新重新开机时按“Ctrl+B”对更新进行保存。 然后再使用 “远程唤醒” 和 “增量拷贝” 一次性将机房的其它机器系统更新。 这样大大提高了机房的维护效率。增霸卡的使用提高了教学的灵活性, 以往任课老师需在学期初上交教学计划及需求, 机房管理老师再根据这些计划和需求对机房进行维护, 在学期中一般不对系统进行更新。 使用增霸卡后机房维

7、护变为可即时维护的。 如若任课老师在上课前根据教学需要有新要求, 我们只需更新一台机器后, 再使用 “增量拷贝” 功能, 便可在两三分钟内对整个机房的系统进行更新,这样任课老师可以根据学生的实际情况调整教学计划。 可以让机房更好的服务于教学。综上所述, 增霸卡的使用使计算机机房的管理变得更加的人性化和自动化。 使计算机机房的管理老师从繁琐的机房维护中解放出来, 让机房的管理老师可以有更多的精力来优化电脑和软硬件配置, 能够更好的服务于教学。参考文献1邬晓明, 丁怡.增霸卡在高校机房维护中的应用.科技信息,2010(21): 54. 2吴俊.浅谈高校机房的管理与维护.管理科学与工程技术,2011

8、(8): 262. 3郑洲.浅谈增霸卡在高校计算机实验室日常管理中的重要性及应用经 验. 无线互联科技,2013(11): 181.3.3.2 初始化文件函数: void InitFile()功能: 初始化用于保存游戏历史记录的文件, 其中rank.txt用于存放游戏等级信息, top1.txt用于存放初级的历史最佳五佳记录, top2.txt和top3.txt分别用于存放中级和高级的历史最佳五佳记录。3.3.3 开始游戏函数: void StartGame()功 能 :记 录 游 戏 的 开 始 时 间 和 结 束 时 间 ,条 用ExecuteGame()、 GameResult()等函数

9、, 对游戏进行整体控制。产生随机数函数: void CreateNumber(int*cl,int digit)功能: 由系统产生不重复的digit位随机数, 其中的参数1是整型指针, 指向所产生的随机数, 参数2表示所产生随机数的位数。运行游戏函数: int ExecuteGame(int digit,int gnumber)功能: 执行游戏, 调用CreateNumber()以产生随机数, 由玩家输入所猜测的数据, 输出猜测结果供玩家参考, 其中的参数1是所猜数字的位数, 参数2是允许猜测的次数。3.3.4 游戏结果处理函数: void GemeResult(int tim,int dig

10、it,int number,int rank)功能: 对游戏结果进行处理。 游戏不成功, 重新开始游戏或返回主菜单; 游戏成功时, 根据游戏耗时和实际猜数次数,判断是否能进入本等级的历史五佳, 若能则修改本等级的历史五佳记录, 提示玩家是否进入下一等级。 其中的参数1是游戏耗时, 参数2是猜测数字的位数, 参数3是实际猜测次数, 参数4师当前游戏等级。另外, 还应设计设置游戏等级函数SetRank()、 输出游戏说明函数ShowExplain()、 设置历史五佳函数SetTop()、 显示历史五佳函数ShowTop()等功能函数。4 函数实现示例下面将运行游戏函数: int ExecuteGa

11、me(int digit, int gnumber)的实现简介如下:在本函数调用CreateNumber()函数产生了digit位随机数后, 执行一个循环gnumber次的for语句, 在本循环语句体中,需要输入玩家所猜测的digit位数字, 完成猜测数和随机数的比对, 输出猜测结果A*B*, 并在猜数成功后结束猜数过程。/A是数字、 位置均正确的个数A=0;/B是数字正确、 位置不正确的个数B=0;for(i=0;idigit;i+) if(ai = pi)A+;for(i = 0; i digit; i +)for(j = 0; j digit; j+)if(ai = pj printf(

12、“t您本次猜测的结果是: “);printf(“A %d B %dn“, A, B);if(A = digit)break;/猜数成功结束猜数过程 5 总结在本游戏的设计完成过程中, 严格遵守结构化的程序设计思想, 广泛应用C语言的数组、 指针、 函数、 结构体、 文件等知识。 通过一个实例将C语言知识进行综合运用, 对学习C语言并提高其应用能力是非常有益处的。(上接第166页)一个C语言猜字游戏的设计一个C语言猜字游戏的设计作者:朱云霞 作者单位:天津电子信息职业技术学院,天津,300350 刊名:无线互联科技 英文刊名:wuxian hulian keji 年,卷(期):2014(4)本文链接:http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号