[工作范文]c语言程序设计猜数字游戏报告.doc
《[工作范文]c语言程序设计猜数字游戏报告.doc》由会员分享,可在线阅读,更多相关《[工作范文]c语言程序设计猜数字游戏报告.doc(53页珍藏版)》请在咨信网上搜索。
1、工作范文c语言程序设计猜数字游戏报告(完整版)(文档可以直接使用,也可根据实际需要修改使用,可编辑 欢迎下载)高级语言程序设计课程设计 题 目: 猜数字游戏 班 级: 09软件工程R3 学生姓名: 谢泽雄 学生学号: 202131000622 指导老师: 姚金涛 提交时间: 2021年5月29日 华南农业大学 信息(软件)学院高级语言程序设计 课程设计评分表题 目猜数字游戏专业班级09软件工程R3提交日期2010年05月29日小组成员学 号姓 名完成情况 成绩(指导老师填写)组 长无无组 员202131000622谢泽雄组 员小组评分表评分项目分数1实现情况(15):完成课程设计要求的情况2系
2、统分析(10):对系统的理解及分析的深入程度。3系统设计(20):总体设计、具体设计、数据结构设计等。4程序设计(30):面向对象程序设计方法与编程工具掌握水平。5界面设计(15):界面美观程度、操作方式友好程度等。6论文撰写(10):论文撰写的规范性、合理性等等。小组总成绩:教师签名日 期目录一、猜数字游戏分析。4 1游戏概述。4 2系统运行环境。4 3功能需求描述。4二、总体设计。5 1开发和设计的总体思想。5 2程序模块结构图。5 3模块设计。54程序流程描述。65界面设计。76数据结构设计。12三、详细设计。13 1文件及函数组成。132函数设计。14四.程序代码。171start.h
3、。172start.c。193mianzone.c。254game zone.c。325refreshline.c。376reset.c。407print.c。408count_num.c。489intset del.c。4910imageline.c。49五. 运行结果。50六、调试分析。511情况1。512情况2。513情况3。514情况4。52七、总结。52一、猜数字游戏分析在猜数字游戏分析环节中,会对该游戏开发的意图、应用目标、作用范围和有关该软件开发的背景材料进行详细的分析。猜数字游戏作为一个用来进行娱乐、消遣的应用软件,在对其进行需求分析的过程中,需要充分考虑游戏的可用性和娱乐性,
4、联系实际生活,从而得到合理的需求分析的结论。1 游戏概述该软件为用户提供一个在Windows系统上运行的猜数字游戏,其使用者只有玩家:玩家在运行该程序时,可以浏览游戏自最近一次重置数据记录以来,所保存的游戏记录:分为“排行榜记录”和“成功情况”。玩家可清空排行榜数据,以重新开始记录游戏成绩。参加游戏后,游戏将自动刷新游戏记录,重新排行排行榜。玩家参加游戏前,可浏览帮组功能,了解游戏规则。2 系统运行环境(1) 硬件环境u 处 理 器:Intel Pentium 166或更高u 内 存:32MB以上u 硬盘空间:2G以上u 显 卡:SVGA显示适配器(2) 软件环境u 操作系统:Windows9
5、8/Me/2000/XP/vista/73 功能需求描述猜数字游戏是用来进行娱乐、消遣活动的应用软件。可进行游戏功能、浏览游戏记录功能和查看游戏帮助功能。 (1) 游戏功能需求如下:u 进行游戏:在游戏提示下输入所要猜测的游戏数字,即可完成游戏。u 重新开始游戏:在游戏进行中,因不同原因玩家要求输入特定字符串以重新游戏,或放弃游戏且返回主菜单。u 刷新排行榜:游戏结束后,若玩家成功猜的答案,玩家要求记录自己的用户名和记录,参与新排行榜的排行。u 输出答案:当玩家在规定次数中不能猜出答案,则玩家要求在游戏结束后得知正确答案。u 计算赢得游戏所用时间:玩家猜出数字后,要求显示所用时间并记录到排行榜
6、中,以便与其他玩家进行比较和检查自己的提升。(2) 浏览游戏记录功能需求如下:u 查看排行榜:游戏结束后,玩家需要查看自己的成绩排位,和了解其他玩家的游戏情况。在不同情况下,玩家想依据成绩循序、用户名循序、所用时间多少进行输出排行榜。u count文件:玩家需要查看游戏次数与成功次数的记录。u 清空排行榜:玩家在一定情况下,要求重新开始记录游戏信息。u 清空count文件:玩家在一定情况下,要求重新开始记录游戏信息。(3) 帮组功能需求如下:u 输出游戏规则:玩家需要了解游戏规则。u 游戏说明:玩家要求更了解游戏的各种功能,以更方便操作程序。二、总体设计题目要求 (1)按照分析、设计、编码、调
7、试和测试过程完成应用程序; (2)学习并使用流程图等工具,并在撰写论文中使用; (3)程序的各项功能在程序运行时,以菜单方式选择并执行; (4)要求用户输入数据时,要给出清晰、明确的提示,包括:输入数据的内容、格式及结束方式等 (5)所有的信息存储在文件中,并实现文件读写操作。1 开发和设计的总体思想猜数字游戏是一个简易的娱乐游戏,开发设计的重点在于排行榜的跟新。每次游戏结束后都要对排行榜进行跟新,不可漏掉任何一次跟新。解决这个问题的方法是将跟新的过程单独写成一个可以独立完成得函数,在每次游戏结束后都必须调用该函数。关于排行榜的输出问题,游戏将把成绩排行在前十名的玩家信息输出,当排行在十名后的
8、玩家的成绩与第十名的成绩相同,则把与第十名的玩家的成绩相同的用户信息一同输出。对于排行榜的容量问题,游戏采用自动增删的方法进行处理。当排行榜存有的用户信息多于十五名时,排行榜将自动删除第十六条用户信息。对菜单的选择判断要用到程序设计思想中的选择结构,对大量数据的处理要用到循环和文件处理等基本技术。系统采用结构化的设计方法进行设计,采用C语言进行开发。2 程序模块结构图依据需求分析结果,猜数字游戏的程序可分为3个模块:游戏区、游戏记录和帮助。程序模块结构图如图1所示。猜数字游戏游戏区游戏记录帮助图1 程序模块功能图3 模块设计(1) 游戏区模块 该模块为进入游戏,玩家进入后可按照游戏提示完成游戏
9、,和刷新游戏记录、排行榜。(2) 游戏记录模块游戏记录模块的作用是为了保障系统的安全性和系统使用人员角色的区分。该模块需要从输入设备获取用户输入的用户名和密码,判断是否为合法身份,其次要判断用户权限,从而决定其能使用的系统功能,其模块功能图如图2所示。游戏记录排行榜显示count文件信息按排名浏览排行榜count文件按姓名浏览排行榜按用时浏览排行榜清空排行榜清空count文件图2 游戏记录模块功能图(3) 帮助模块该模块主要实现常规的管理功能,如投票人的初始化,即创建投票人文件、投票人信息的增加、删除、修改和查询等。该模块主要用结构体类型的数组和文件的读写来完成对大量数据的管理操作,其功能图如
10、图3所示。帮助游戏规则游戏说明图3帮助模块功能图4 程序流程描述程序的主体处理流程如图8所示。进入程序开始结束进入游戏赢得游戏Y输出排行榜刷新排行榜Y继续游戏NNNY重新游戏返回菜单YYNN按排名浏览排行榜清空排行榜按姓名浏览排行榜按用时浏览排行榜清空排行榜同时重置count文件排行榜count文件显示count文件信息重置count文件同时清空排行榜清空count文件帮助游戏规则游戏说明返回主菜单游戏记录退出程序图4 程序流程图5 界面设计应遵循简洁美观、方便使用的原则。(1) 主菜单界面设计充分考虑界面易于操作的系统需求,其他的的功能调用采用类似于菜单的功能选择方式实现。用printf语句
11、构造简单的文字界面,具体功能选择界面设计效果如图5所示。图5 主菜单界面设计效果图(2) 游戏区界面设计游戏区界面设计注重界面的简洁性,要求玩家在游戏时可在游戏提示下完成游戏,重新游戏,放弃游戏回到主菜单,游戏后刷新排行榜,浏览排行榜或继续游戏。具体设计效果如组图所示。图图图6.3组图6 游戏区界面设计效果图(3) 数据记录菜单界面与其他菜单界面设计充分考虑界面易于操作的系统需求,其他的的功能调用采用类似于菜单的功能选择方式实现。用printf语句构造简单的文字界面,具体菜单选择界面设计效果如图7图12所示。图7 数据记录菜单界面设计效果图图8 排行榜菜单界面设计效果图图9 重置排行榜菜单界面
12、设计效果图图10 count文件菜单界面设计效果图图11 重置count文件菜单界面设计效果图图12 帮助菜单界面设计效果图(4) 排行榜输出界面、显示count文件界面、游戏规矩和游戏说明的输出界面设计这些界面设计主要考虑玩家在浏览信息的清晰和易读性。以防数据输出的排版长度大于窗口的长度,在输出所有数据后使光标回到窗口的最上端,利于玩家从数据的起始端开始浏览数据。排行榜的输出中,将名次、用时、成绩(次数)和用玩家姓名列表显示。具体排行榜输出界面设计效果如图13图15所示。图13 按排名顺序输出排行榜界面设计效果图图14 按姓名次序输出排行榜界面设计效果图图15按所用时间排序输出排行榜界面设计
13、效果图count文件的输出界面设计效果如图16所示。图16 count文件的输出界面设计效果图游戏规则的输出界面设计效果如图17所示。图17 游戏规则界面设计效果图游戏说明的输出界面设计效果如组图18所示。图18.1图18.2图18.3组图18 游戏说明的输出界面设计效果图(5) 退出游戏界面设计具体退出游戏界面设计效果如图19所示。图19 退出游戏界面设计效果图6 数据结构设计(1) 玩家用户数据结构 描述玩家用户的用户名、猜出数字所用次数和游戏所用时间,作为一整条记录存放在文件中。typedef struct achar name22;/玩家用户名int t;/猜数字所用次数int sj;
14、/游戏所用时间struct a *next; player;(2) “胜利”信息数据结构记录玩家赢得游戏次数与猜正确平均所需次数,作为一整条记录存放在文件中。struct winaveint wintime;/总共赢的次数float ave;/才正确平均所用次数;三、详细设计基于系统需求分析与系统总体设计的结果,本系统采用Visaul C+ 6.0实现各模块的功能,下面阐述系统的详细设计和实现过程。1文件及函数组成源文件函数名或其他成分功能start.h结构声明结构声明库函数及函数原型声明start.cmain主函数mainmenu主菜单menu2游戏记录菜单phbmenu浏览排行榜菜单qkm
15、enu清空排行榜菜单countmenu浏览count文件菜单rscountmenu重置count文件菜单menu3帮助菜单move“到达”函数rulemenu游戏规则explainmenu游戏说明endmenu结束菜单mianzone.cmain1被主函数调用,用以开始进入游戏liulan进入浏览排行榜功能paihangbang进入排行榜功能qk清空排行榜功能qingkong进入重置排行榜功能pn进入重置排行榜和count文件功能countwork进入count文件浏览功能printcount输出count文件数据函数st进入重置count文件setcount进入清空count文件功能sc进入
16、重置count文件和排行榜help进入帮助功能gamezone.ccheckcount检查count的情况,且读取count中数据closecount更新count中的数据creat生成游戏所需猜的数字checknum检查输入的数字是否符合规定Time_get计算完成游戏所用时间gamezone进行游戏refreshline.crefresh更新排行榜note记录或输出记录起始时间reset.cresetline清空或重置排行榜resetcount重置或清空count.txt文件print.cprintline按成绩输出排行榜printname按姓名输出排行榜printtime按用时输出排行榜
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工作范文 工作 范文 语言程序设计 数字 游戏 报告 完整版
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。