“24点游戏”可以写网络游戏调查报告告吗?

上传用户:bxkrvzojqw资料价格:5财富值&&『』文档下载 :『』&&『』所属分类:机构:南京工业职业技术学院计算机软件学院分类号:TP301.6文献出处:关 键 词 :&&&权力声明:若本站收录的文献无意侵犯了您的著作版权,请点击。摘要:描述了24点游戏的玩法以及简单的求解算法,详细分析了各种重解产生的原因,阐述了消除重解的办法,形成了一整套避免重解的规则体系,描绘了规避重解算法的基本思想,并给出了一段体现这一思想的程序代码。Abstract:24 points of the game play and simple solution algorithm is described, a detailed analysis of the various heavy solution causes, expounds the ways to eliminate repeated, forming a set to avoid repeated rule system, depicts the avoidance algorithm the basic idea, and gives a embodies the idea of program code.正文快照:24点是一个几乎人人皆知的游戏。它利用扑克牌剔除大小王,任意抽取4张牌,得出4个数字,每个数字用且仅用一次,用加减乘除以及括号与其任意组合,最后得出结果24。有关24点游戏的众多论文中,在求解算法方面可谓百花齐放,相得益彰。可是,不见有研究重复解的问题。比如有4个数:2,3,分享到:相关文献|24点游戏的开发和实现开题报告_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
24点游戏的开发和实现开题报告
上传于||文档简介
&&2点​游​戏​的​开​发​和​实​现​的​开​题​报​告​,​用​前​缀​和​后​缀​表​达​式​进​行​实​现​。
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
你可能喜欢问题分类:初中英语初中化学初中语文
当前位置: >
有一种24点游戏,其游戏规则是:任取-13至13之间的四个整数,将这四个数(每个数只能用一次)进行加减乘除四则运算,使其运算结果等于24,例如:对1、2、3、4,可作运算:(1+2+3)*4=24(注意上述运算与4*(2+3+1)应视作相同方法的运算)。
(2)若四个数是4,-9,-7,-13,运用上述规则写出两种不同方法的运算式子,使其结果等于24。
悬赏雨点:2 学科:【】
解:第一种方法:-13-(-9)-4×(-7) 第二种方法:[-13-(-9)]×(-7)-4&&【 19:40】
&&获得:2雨点
解:第一种:-13-(-9)-4×(-7);第二种:[-13-(-9)]×(-7)-4&&【 14:23】您现在的位置:您现在的位置:&&>>&&>>&&>>&正文
快捷导航:
24点游戏实验报告
来源: & 20:51:47&& 【一起学:终身教育引导者】
&&&&成绩&&&&课程设计报告课程设计报告&&&&题&&&&目&&&&24点游戏&&&&课程名称院部名称专班业&&&&软件项目实践(软件项目实践(二)信息技术计算机科学与技术&&&&计算机科学与技术(专转本)级M10计算机科学与技术(专转本)&&&&学生姓名学号&&&&张伟3036校内实验室学时)2周(40学时)沈奇&&&&课程设计地点课程设计地点课程设计学时课程设计学时指导教师&&&&金陵科技教务处制&&&&一、实验目的和要求&&&&1.实验目的1)了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3)提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4)训练用系统的观点和软件开发一般规范进行软件开发。5)培养快速学习新的知识,并在项目中使用的能力。2.实验要求设计并实现24点游戏,满足以下基本要求:①运行系统后,出现登录/注册初始界面,允许用户选择“注册”“登录”、或“退出”。用户分为2类:管理员、一般用户,他们拥有不用权限。管理员可以对用户信息实现增、删、改、查等管理操作;一般用户可以进入游戏,以及查看英雄榜。②玩家开始游戏后,系统随机产生四个1-13的数,分别代表13张牌。提示玩家输入算式。判断玩家输入的表达式是否合法,其中算式中的四个数字只能是程序所给的四个数字。当玩家正确输入算式后,运用“用堆栈求解表达式”的原理,求出结果并判断是否为24,得出用户是输是赢的结果。③如果用户赢,计算其所用时间(从输入算式开始计算,直至输入算式结束),并与英雄榜中成绩进行比较。可以进入英雄榜的,则需更新英雄榜。英雄榜只按成绩降序记录1-5名相关信息。&&&&二、实验仪器和设备&&&&MicrosoftWindowsXP/Windows7TurboC/VisualC++&&&&三、实验过程&&&&1&&&&一.项目计划&&&&1.1总体介绍&&&&以计算机后台系统为基础,文件作为数据库,利用C语言技术,研究和开发适合脑力开发的智力游戏,将现行以手写的24点游戏提升至计算机自动生成,实现普通用户的注册,登入,查看英雄榜,游戏的功能;实现管理员对用户进行的增、删、改、查的功能。&&&&二.需求分析&&&&2.1需求概述分析&&&&本系统共分为九个模块:普通用户注册模块,普通用户登入模块,用户模块,游戏模块,用户管理模块,管理员添加用户模块,管理员删除用户模块,管理员修改用户密码模块,管理员查看用户信息模块。以下是各个模块的功能简介。(1)普通用户注册模块检测用户名的可用性,检查密码有效性,向用户文件输入当前注册用户信息。(2)普通用户登入模块检测用户名是否存在,检查密码是否正确;(3)用户模块选择用户需要执行的操作(进入游戏、查看英雄榜、切换用户、退出)。(4)游戏模块用户进行游戏,计算用户游戏时间,更新英雄榜。(5)用户管理模块提供对用户信息的增、删、改、查的功能。(6)管理员添加用户模块采用普通用户注册的内核,诸如:检测用户名,密码。(7)管理员删除用户模块根据所输入的用户名,对用户全部信息进行删除,更新用户文件。(8)管理员修改用户密码模块根据所输入的用户名,对用户密码信息进行修改,更新用户文件。(9)管理员查看用户信息模块根据所输入的用户名,查看用户信息。&&&&2.2结构化分析系统的分层数据流图如下&&&&1.顶层数据流图&&&&2&&&&2.用户管理模块数据流图&&&&新用户信息操作结果&&&&添加用户&&&&更新信息操作结果&&&&用户名操作结果&&&&更新信息&&&&删除用户&&&&操作结果&&&&管理员&&&&用户名,新密码操作结果更新信息&&&&文件系统修改用户&&&&操作结果&&&&用户名操作结果&&&&跟新信息&&&&查看用户&&&&操作结果&&&&三.面向对象分析&&&&3.1用例图&&&&(1)用户用例图&&&&3&&&&用户用户添加进入游戏&&&&删除用户查看英雄榜&&&&修改用户信息切换用户一般用户管理员查询用户信息&&&&(2)系统用例图&&&&3.2部分类/对象图1.类图&&&&(1)普通用户类图&&&&-用户名:char-性别:char-密码:char-登入()-添加用户()-删除用户()-修改用户()-查看用户()&&&&(2)管理员类图&&&&2.对象关系图&&&&(1)关联关系&&&&3.3流程图&&&&4&&&&开始&&&&开始界面&&&&选择事件&&&&注册&&&&登入&&&&退出&&&&添加输入用户名用户名已存在数据不存在检查用户名可用性与数据库信息进行核对管理员数据进入用户管理界面选择事件修改普通用户数据判断用户是否存在进入普通用户界面退出查看输入用户名和密码删除&&&&用户名可使用输入密码密码输入有误&&&&切换用户判断密码有效性&&&&选择事件&&&&查看英雄榜&&&&密码可用再次输入密码&&&&进入游戏&&&&密码不一致退出游戏判断是否一致&&&&密码一致&&&&选择事件&&&&自动登入&&&&返回上一层&&&&四.详细设计&&&&4.1界面设计1)添加管理员界面(只为初始化系统)&&&&5&&&&2)&&&&开始界面&&&&3)&&&&注册界面&&&&6&&&&4)&&&&登入界面&&&&5)&&&&用户管理界面&&&&7&&&&6)&&&&用户界面&&&&7)&&&&游戏界面&&&&8&&&&(1)回答正确&&&&(2)回答错误&&&&8)&&&&英雄榜界面&&&&9&&&&4.2功能逻辑设计1)注册a)b)判断用户名的可用性:判断用户名是否存在。判断密码有效性(当用户名可用时):1.判断密码长度;2.判断密码字符有效性(是否是字母)。c)d)2)选择是“自动登入”或是“返回上一层”。更新数据库(文件)。&&&&登入a)b)判断用户名是否存在:判断用户名是否存在。判断密码有效性(当用户名存在时):1.判断密码长度2.判断密码字符有效性(是否是字母)。3.判断密码是否与注册的密码一致。c)选择“登入”或“重置”。&&&&3)&&&&用户管理a)b)添加用户:采用注册的方法,只不过这里操作的管理员。删除用户:1.输入需要删除的用户名,并判断该用户是否存在。2.当该用户存在时,由于是管理员身份可直接删除。3.更新数据库(文件)。c)修改用户密码:1.输入需要修改的用户名,并判断该用户是否存在。2.当该用户存在时,由于是管理员身份可修改密码。&&&&10&&&&3.更新数据库(文件)。d)查看用户信息:输入需要查看的用户名,显示用户信息。&&&&4.3数据库设计数据库采用TXT文件进行存储,每次对信息进行添加,删除,修改都重写文件,从而使文件里的信息具有实时性。&&&&五.编码&&&&部分代码:1.voidchange()//管理员帮用户修改密码{charkey[13],c;intj,k;system("cls");printf("\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");printf("\t\t☆printf("\t\t☆printf("\t\t☆24点游戏(修改信息)☆\n");☆\n");☆\n");&&&&printf("\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");printf("\n\n");printf("\t\t输入需要修改的用户名:");gets(temp1.name);printf("\n\n");for(j=0;j<I;)if(!strcmp(temp1.name,userss[j].name)){printf("\t\t\t\t性别\t\t密码\n\n");printf("\t\t%s\t\t%s\t\t%s\n",userss[j].name,userss[j].sex,userss[j].key);loop:printf("\n\n\t\t输入新密码:");gets(temp1.key);if(!(length_password(temp1.key)&;&;is_password_valid(temp1.key))) 密码有效性验证{printf(?\n\t\t您输入的密码无效!!!?);Sleep(3000);for(k="0;k<50;k++)&&&&11&&&&printf("\b\b");}printf("\n");loop1:printf("\t\t请再次输入密码:");gets(key);if(strcmp(temp1.key,key)){printf("\n\t\t两次输入的密码不一致!");Sleep(3000);for(k=0;k&50;k++)printf("\b\b");gotoloop1;}userss[j]=temp1;//将新注册的用户信息放入结构体数组中printf("\n\t\t密码修改成功!输入任意键返回……");c=getch();if(c)admin();}elsej++;if(j&=I){printf("\n\t\t没有此用户信息!输入任意键返回……");c=getch();if(c)admin();}}2.voidview_hero(){&&&&12&&&&system("cls");printf("\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");printf("\t\t☆printf("\t\t☆printf("\t\t☆24点游戏☆\n");☆\n");☆\n");&&&&printf("\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");printf("\n\n");printf("\t\t-----------------英雄榜----------------\n\n");FILE*fp=fopen("herolist.txt","rb");fread(userss,sizeof(structuser),J,fp);if(J==0)printf("\t\t现在还没有人算对……\n");else{printf("\t\t\t\t性别\t\t时间\n\n");for(i=0;i<J;I++)PRINTF("\T\T%S\T\T%S\T\T%F\N\N",HEROS[I].NAME,HEROS[I].SEX,HEROS[I].TIME);}PRINTF("\N\T\T输入任意键返回……");C=GETCH();IF(C)USERS();}&&&&六.测试&&&&6.1、下面使用“等价分类法”对用户密码进行测试(1)划分等价类①对密码划分等价类输入数据密码长度有效等价类①6―12位字母字符无效等价类②有非字母字符③少于6个字母字符④大于12个字母字符&&&&(2)设计有效等价类的测试用例①对密码设计有效等价类测试用例测试数据期望结果&&&&13&&&&测试范围&&&&Zhangwei&&&&输入有效&&&&②&&&&(3)为无效等价类设计测试用例①为密码设计无效等价类测试用例测试数据Zhang198998zhangzhangweizhangwei期望结果输入无效输入无效输入无效测试范围②③④&&&&七.项目总结&&&&课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学生来说掌握计算机开发技术是十分重要的。回顾起此次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整两个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。通过C语言的课程设计,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。不过,通过两周的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。如果是一个程序写完一处错误也没用,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。比如自己写的写的小程序出了问题,&&&&14&&&&不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到不在身边的时候也可以完成一些简单的程序编写与错误排除。还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。其实只要理清了思路,把基础知识掌握了,然后有条不紊的分析,一步一步理解,C语言还是很有意思的课程。自己亲自动手编写程序让我增加了对C语言程序开发环境的了解,不管以后从事什么行业,学习C语言都对自己的职业很有帮助,如果是从事编程工程工作的话,就更有帮助了,即使以后的编程工作可能不用C语言,但是拥有扎实的C语言基础是对工作很有用的。当初在初步接触C语言的时候,看着一堆“奇形怪状”的符号,觉得甚是无聊,通过这次实训,摆脱了那种似懂非懂的状态!感谢学校安排这次实训和老师的耐心讲解,让我学到了很多知识,在实训过程中,同学之间的互相探讨,老师的循循善诱,最终让我们达到了举一反三的效果,在学知识的同,也增加了同学老师之间的感情。希望以后还会有更多类似的实训课程,在有限的大学时间内学到更多的实用技能,为以后的工作打下一个良好的基础。&&&&15&&&&
责编:xiayicai&
没有相关文章
游戏攻略一周评论排行
主讲:名师}

我要回帖

更多关于 24点游戏java报告 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信