24点游戏课程设计报告.doc
《24点游戏课程设计报告.doc》由会员分享,可在线阅读,更多相关《24点游戏课程设计报告.doc(19页珍藏版)》请在沃文网上搜索。
1、成绩 课程设计报告 题 目 24点游戏 课 程 名 称 软件项目实践(二) 院 部 名 称 信息技术学院 专 业 计算机科学与技术 班 级 M11计算机科学与技术(专转本)学 生 姓 名 王蕾 学 号 1121412006 课程设计地点 校内实验室 课程设计学时 2周(40学时) 指 导 教 师 沈 奇 金陵科技学院教务处制1课程设计报告目录一、实验目的和要求1二、实验仪器和设备2三、实验过程2四、实验结果与分析16五、实验心得18 一、实验目的和要求1实验目的1) 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;2) 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试
2、等基本方法和技能;3) 提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4) 训练用系统的观点和软件开发一般规范进行软件开发。5) 培养快速学习新的知识,并在项目中使用的能力。2实验要求设计并实现24点游戏,满足以下基本要求: 运行系统后,用户登录,输入用户名后,可以进入游戏,或查看英雄榜。 玩家开始游戏后,系统随机产生四个1-13的数,分别代表13张牌。提示玩家输入算式。判断玩家输入的表达式是否合法,其中算式中的四个数字只能是程序所给的四个数字。当玩家正确输入算式后,运用“用堆栈求解表达式”的原理,求出结果并判断是否为24,得出用户是输是赢的结果。 如果用户赢,计算其所用时间(从输
3、入算式开始计算,直至输入算式结束),并与英雄榜中成绩进行比较。可以进入英雄榜的,则需更新英雄榜。英雄榜只按成绩降序记录1-5名相关信息。二、实验仪器和设备Microsoft WindowsXP / Windows 7Turbo C/Visual C+三、实验过程(一)项目计划 11 总体介绍 24点游戏是一种使用扑克牌来进行的益智的游戏,游戏内容为:从113中,任意抽取4张牌,运用加、减、乘、除和括号等运算符把牌面上的数进行运算得到24,每个数都必须运算,并且只能运算一次,运算符可多次重复使用。1.2 参考文献1算法与数据结构用C语言描述,唐策善编著,高等教育出版社 20082数据结构 (C语
4、言版),严蔚敏等编著, 清华大学出版社 20043数据结构实用教程(第二版),徐孝凯编著,清华大学出版社 20064计算机程序设计技巧第一、三卷,D.E.Knuth著,管纪文译,国防出版社5FUNDAMENTALS OF DATA STRUCTURES,FULLS HORO-WITZ&SARTAJ SAHNT6.数据结构基础(中译本),程惟宁译,新时代出版社(二)需求分析21 需求概述分析 1)输出的判定和四位数字的类型: 在输出的时候对最后结果等于24的判别,因为考虑到有除法,有可能中途 结果可能会出现不能整除的情况与小数,所以输出的四个数都设为float型,且输出判定的时候用近似判定法,而
5、不直接写让最后结果等于24(详情见算法)。2)括号问题的处理: 对于括号问题,我规定对每一步的计算表达式,除了*之外,+,-,都加上括号,即让程序按自己规定的方向执行,输出的括号只是让人能看懂,其实在运算时不起作用(详情见算法)。22 输入输出的要求输入的运算符只能是+、-、*、/、(、)这六个,输入的整数必须是程序随机产生的那四个数,而且每个数只能用一次。23 概要设计 功能模块图24算法游戏随机发牌输入求解表达式计算表达式判断表达式的正误 (三)面向对象分析3.1 用例图 登入查看英雄榜用户用例图退出3.2 总体流程图 开始开始界面选择事件登入输入用户名和密码与数据库信息进行检测普通用户数
6、据进入普通用户界面选择事件切换用户进入游戏退出游戏数据不存在退出退出查看英雄榜3.3游戏流程图开始进入游戏开始界面输入表达式计算是否=24?显示Congratulationsery good显示input any key,hint answer.Go on or exit ?退出NNYY(四)详细设计 4.1 界面要求 要求有合理的界面,用户可以读懂看清程序将要做的事情,并可以在一步一步的执行时可以有一些提示,这样用户可以继续使用。4.2 功能逻辑设计在设计这个程序之前,我把这个程序分为多块,它们分别为:1) 显示登录界面 玩家输入用户名和密码,进入游戏2) 显示游戏界面 随机产生4个数; 提
7、示输入表达式; 玩家输入表达式,用栈存储起来; 判断输入是否合法,四个数是不是随机产生的四个; 给出结果。3) 显示游戏界面 用户根据提示,选择进入查看英雄榜; 4.3存储结构1)人算24点时:使用的是穷举法,对应一组数字,找出有可能的情况。 2)计算机算24点时:采用单链表作为存储结构,使用栈来进行表达式求值的原理实现。4.4使用说明例1:显示: 7 7 2 5 则您可以输入表达式: 2*5+7+7. 回车显示: Congratulations 例2.显示: 3 12 2 6 则您可以输入表达式: 2*3+6+12.回车显示: Congratulations例3. 显示:10 9 10 10
8、则您可以输入表达式:?回车显示:Input any key,hint answer.附: 1)当玩家不会游戏时,可以输入?,游戏会给出答案;但有的四个数字不能算出24点,所以直接进入下个游戏。2)游戏存在着许多不足之处,比如没有注册功能,没有管理员的功能,所以不能进行对用户的管理,修改,添加等操作。 (五)编码系统主要功能代码1) /*进入游戏*/void game()/*进入游戏*/ int i,j,k,t,again,res,flag;char c;float num4;again=1; clock_t start, finish;double duration,n;while(again
9、=1) system(cls);printf(tt *n);printf(tt * *n);printf(tt * 24game *n);printf(tt * *n);printf(tt *n); printf(nntt ); srand(time(0); /*获取随机种子使得每次随机的值不同*/ for(i=0;i4;i+) numi=(float)(rand()%13); /*获取13以内的随机数值*/ for(i=0;i4;i+) printf(%2.0ft,numi); /*输出4个随机数值*/ printf(nn);start = clock(); self();/*自己算*/ f
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 24 游戏 课程设计 报告