记忆力小游戏课程设计报告.doc_第1页
记忆力小游戏课程设计报告.doc_第2页
记忆力小游戏课程设计报告.doc_第3页
记忆力小游戏课程设计报告.doc_第4页
记忆力小游戏课程设计报告.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机学院计算机科学与技术专业程序设计综合课程设计报告 (2011/2012学年 第一学期)学生姓名: 学生班级: 学生学号: 指导教师: 2011年12月31日记忆力小游戏目 录第一章课程设计的目的和要求11.1 课程设计的目的11.2 课程设计的实验环境11.3 课程设计要求1第二章 课程设计任务内容22.1背景22.2功能22.3可行性 2第三章 详细设计说明33.1 主函数的流程图33.2各个子函数的流程图63.3功能及使用说明8第四章 调试运行结果10第五章 课程设计心得与体会13附录1:参考文献15附录2:程序清单16第一章 课程设计的目的和要求1.1课程设计的目的通过课程设计的训练,我们能够了解程序设计的基本开发过程,掌握编写、调试和测试C+语言程序的基本技巧,培养解决实际问题的能力和养成严谨的态度、习惯。通过一个简单的程序设计,我们能够进一步熟悉C+中有关各种知识的运用与掌握,理论与实践相结合。设计过程中,我们独立思考,积极动手实验,逐步熟悉程序设计的方法,进一步培养完善的C+编程设计思维,为以后的程序设计学习打下一个牢固基础。1.2课程设计的实验环境 该程序设计的设计和实验过程需要在windows 7环境下的Microsoft Visual Studio 2008的平台下进行,从而完成代码的编写、编译、调试等工作。1.3课程设计要求首先要参考相关书籍学习课程设计的基本知识,了解你所要做的程序的实验环境,清楚所开发程序的相关功能,并对各个功能模块进行分析,然后在平台上进行编写、编译、调试等操作。程序设计要求自己选题,所做程序要便于操作和使用,在设计过程中熟练掌握相关知识,循软件开发过程的基本规范,运用结构化程序设计的方法,详细体会并记录相关过程,并将心得体会写在课程设计报告中,设计完成后提交课程设计报告。第二章 课程设计任务内容2.1背景 随着知识时代的来临,记忆力与知识的掌握程度变得越来越重要,而如今的学生特别是部分大学生由于自制力不够,把时间花在玩游戏和睡觉上,没有求知欲,从而导致记忆力下降,这对以后的生活和工作是非常不利的,所以为了改变这一现象,并且有效的提高他们的能动性,设计了这一“记忆力小游戏”程序,游戏简单易上手,老少皆宜,经过一些同学验证,它确实对记忆力的提高有益。2.2功能需求 1、程序以菜单方式工作 2、程序有录入、选择难度和退出功能 3、程序给出一句话让参与者在规定的时间内记忆,然后打乱这句话的顺序让参与者按照显示出的文字的顺序写出,进行两次,最后系统会提示让参与者写出第一次显示出的文字 4、参与者也可以选择自己输入一句话进行游戏,其他内容按照功能3 5、程序有打分功能,每次游戏结束后给参与者打分并显示分数2.3可行性从技术上来说,C+语言是高级编程语言,它可以编写应用程序,并且能够成功运行,在windows 7系统中的Microsoft Visual Studio 2008的平台下,我已经实验成功,程序虽然有些小的不足,但是大体上还是差强人意的。从操作上来说,在明白游戏基本规则的情况下,进行简单的键盘操作即可游戏,游戏简单易懂,在闲暇的时候,它能给您带来乐趣的同时锻炼记忆力。第三章 详细设计说明 3.1 主函数的流程图开始srand(time(0);game_select();string menu_str输入menu_strmenu_str=1clear_viewprot();begin_game();menu_str=2menu_str=3menu_str=4end_game();clear_viewprot();clear_viewprot();set_game_content();clear_viewprot();set_game_setup();clear_viewprot();game_select();clear_viewprot();game_select();string ran_str1;string input_str;string ran_str2;string s; int i=0;int num=1; string str;Setup=1Setup=3Setup=5Setup=7ABDCran_str1=random_string(str);str=ch;str=ch1;str=ch2;str=ch3;delay(t);i=0; i 2 ; i+clear_viewprot();ran_str2=random_string(str);输入input_strinput_str!=ran_str2输入input_strclear_viewprot();clear_viewprot();ran_str2=random_string(str);输入input_strinput_str=ran_str1ADCBEt40clear_viewprot();point=point*2+strlen(ch);输入spoint0clear_viewprot();goto begin;t150t=t+5;point=point-10;输入ss0=2end_game();s0=1E图3-1主函数流程图3.2 各个子函数的流程图子函数void set_game_content()的流程图:clear_viewprot();开始getchar();cin.getline (ch,400);请输入你要设置的测试内容:结束game_select();图3-2-1 void set_game_content()函数流程图子函数void set_game_setup()的流程图:开始输入setup请输入游戏的难度clear_viewprot();Fsetup= 1;t=100;setup=1game_select();结束setup= 7;t=80;setup=2setup=3setup=4setup=1;t=100;setup=3;t=90;setup=5;t=80;setup=7;t=80;setup=4F图3-2-2 void set_game_setup()函数流程图子函数void delay(int t)、void end_game()、void clear_viewprot()的流程图:开始结束i=0;i15000000*t;i+int ii+图3-2-3 void delay(int t)函数流程图开始结束Now,game over.GoodBye !clear_viewprot();图3-2-4 void end_game()函数流程图开始结束*记忆力小游戏* 设计者:李征 设计时间:/12/24 *system(cls)图3-2-5 void clear_viewprot()函数流程图3.3 功能及使用说明1、此程序包含八个函数:int main();void set_game_content();void begin_game();void set_game_setup();void game_select();void delay(int t);void end_game();void clear_viewprot()其中:int main()主函数,里面包含菜单函数;void set_game_content()输入内容设置界面,其中参与者可更改程序初始输出内容;void begin_game()游戏开始界面,输出文字并要求参与者之后输入相同的文字;void set_game_setup()游戏难度设置界面,可供参与者选择难度;1void game_select()游戏菜单界面;void delay(int t)延时函数;2void end_game()游戏结束界面;void clear_viewprot()清楚屏障功能。2、在windows操作系统下打开该软件,根据游戏的提示,按1直接开始游戏,按2会进入输入测试内容界面,在里面参与者可设置测试内容,按3会进入难度选择界面,里面有4种难度,分别为1、2、3、4,对应简单、中等、困难和疯狂,按4会退出游戏。每次游戏的结束,程序都会给参与者打分,游戏成功,参与者可以选择下一难度或者退出,游戏失败,假如在较高难度,参与者可以选择较低难度或者退出,如果参与者在最低难度就失败,那就会直接退出或者重新在这一难度游戏了。第四章 调试运行结果1、初始界面,提供功能选择,输入相应数字。图4-1 程序截图一2、选择2,输入你要设置的测试内容。图4-2 程序截图二3、选择3,提供游戏难度选择。 图4-3 程序截图三4、选择4,退出游戏。图4-4 程序截图四5、分别对应游戏难度1、2、3、4的测试内容。图4-5 程序截图五6、几秒之后,对应难度1出现的界面。图4-6 程序截图六7、输入正确后出现的界面。图4-7 程序截图七8、输入正确后,程序会给出分数并且有难度和退出游戏的选择。 图4-8程序截图八第五章 课程设计心得与体会在这个学期末,我们终于迎来了期盼已久的课程设计,课程设计刚开始的时候,感觉很简单,不就是做一个程序嘛,可是老师一说要求我就彻底傻眼了,200多行的代码,幸亏可以借鉴,但是要有自己的东西在里面。还有一点比较好的地方就是老师说要我们自己选题,什么游戏啊,测试啊,都可以,我选的是一个叫记忆力小游戏的程序,刚开始的时候和其他人一样,也是一筹莫展,不知道从什么地方入手,所以不知不觉中我把它当做是一种挑战。人就是这样,困哪像弹簧,你强它就弱,你弱它就强。三周的时间来做这个程序对我来说已经足够,虽然有的部分还是需要学习,不过在温习过去知识和各种泡图书馆的前提下,我的信心增加了不少,并想出了实际的过程模型。三周的时间没有白费,我不仅完成了自己的程序设计,而且在余下的时间里把另一个程序做了较大改动。看着程序的渐渐完善,我的心里也有很大的触动,毕竟是我的第一个程序啊,虽然由于之前没有经验,缺少具体的准则,语言也很生硬,但是看着程序的从无到有,从有到精,我深深的感到自己的付出没有成为流水。经过这次的程序设计,我的收获很大,不仅对C+语言有了更进一步的认识和了解,而且通过实践,我也发现我的好多不足之处,首先是自己编程粗心大意,经常出错,再有对C+语言的一些标准函数不太了解,还有对函数调用的正确使用不够熟悉,以及对C+语言中经常出现的错误也不了解,但是经过三周的锻炼,我在这几个方面的认识有所提高。同时这次的课程设计也让我懂得了很多:(1)保持良好的学习心态,第一,要有自信,自强,积极主动学习.第二,克服畏难情绪,树立学好程序设计的信心(2)要了解概念:C+程序设计本身并不复杂,变量,函数,条件语句,循环语句等概念较多.要真正能进行程序设计,就要深入理解这些概念.应该重视概念的学习. (3)自己动手编写程序,亲自动手进行程序设计是培养逻辑思维的好方法.因此我们得多动手编写程序,逐渐提高写程序的能力.自己动手,编写一些程序,才会有成就感,进而对课程产生兴趣,做起来才比较从容.等你在编写大量程序之后(4)上机调试程序应注意多问问同学,多问问老师、,把不懂的地方标出来。(5)养成良好的编程习惯,第一,程序构思要有说明;第二,学会如何调试程序; 第三,对运行结果要做正确与否的分析。但是,如果以前上课的时候不认真的听讲的话,做这个程序设计就会有点点困难,所以,同时也在提醒我们,学习,任何时候都要认真!对于计算机专业的大学生来说,积累实战经验是一项极其重要的内容,很可能成为将来就业的敲门砖。而程序设计综合课程设计就是积累实战经验的一个过程,虽然程序的规模并不大,但能够让我们尽早地认识软件开发的重要性和必要性,为将来的就业打下坚实的基础。总之,在此次的C+程序设计中,没有付出就没有收获,努力地同时要耐得住寂寞。所以此次C+程序设计,让我做事情更加有耐心,更加细心,学习更加认真仔细。故在此,特意感谢给予我帮助的同学和老师,谢谢你们。附录1:参考文献1谭浩强编著:C+程序设计,北京:清华大学出版社,2004年6月第一版2谭浩强编著:C+程序设计教程,北京:清华大学出版社,2007年7月附录2:程序清单以下是记忆力小游戏的源代码:#include #include #include #include #include #include using namespace std;char ch200=你好啊,ch1400=计算机程序不好做啊, ch2400=大家毕业之后是考研还是出国呢, ch3600=我们不知道谁在不经意间说了再见之后就真的再也不见了; /玩家必须猜出来的字符串static int setup=1; /难度static int point=10;static int t=100;void set_game_content();void begin_game();void set_game_setup();void game_select();void delay(int t) ;void end_game();void clear_viewprot();string random_string(string s);int main() srand(time(0);game_select();void set_game_content()clear_viewprot(); /清除屏幕 cout请输入你要设置的测试内容:endl;getchar();cin.getline (ch,400); game_select();void begin_game()string ran_str1;string input_str;string ran_str2;string s; int i=0; int num=1; /关数string str; begin: clear_viewprot(); /清除屏幕 ran_str1=; input_str=; ran_str2=; s=;cout 现在是第num 关哦!endl; cout请你把下面的字记住endlendl; if(setup=1) str=ch;else if(setup=3) str=ch1;else if(setup=5) str=ch2;else if(setup=7) str=ch3;ran_str1=random_string(str); /打乱玩家要猜的字符串coutran_str1endlendl;cout大概几秒后,上面的字自动消失!;delay(t);for( i=0; i 2 ; i+ )clear_viewprot(); /清楚屏幕cout下面是已经打乱的字:endlendl;ran_str2=random_string(str);coutran_str2endlendl;coutinput_str;while (input_str!=ran_str2) /当玩家输入的字符不等于打乱的字符,继续输入 clear_viewprot(); /清楚屏幕 cout输入错误,请重新输入endl; cout下面是已经打乱的字:endlendl; ran_str2=random_string(str); coutran_str2endlinput_str; /while 语句结束 /for 语句结束 clear_viewprot(); /清除屏幕cout请输入在第一次看到的字:endlinput_str;if(input_str=ran_str1)clear_viewprot(); /清楚屏幕coutendlendl输入成功,继续努力!endl;cout你现在的分数是pointendlendl;point=point*2+strlen(ch);cout继续游戏(难度加大) , 2-退出游戏s;if(s0=2) end_game(); else num+; /关数setup=setup+1; /游戏的难度if(t40) t=t-5; /游戏的难度 goto begin;elsecout*你输了,还想挑战吗*0) point=point-10; cout你现在的分数是pointendlendl;cout继续游戏, 2-退出游戏endl;if(t0) setup-; cins;if(s0=2) end_game(); else clear_viewprot(); /清除屏幕cout 现在是第num 关,fighting!endl; goto begin;void set_game_setup() clear_viewprot(); /清除屏幕 couteasy, 2-medium , 3-hard ,4-crazyendlsetup;if(setup=1) setup=1; t=100;else if(setup=2) setup=3; t=90;else if(setup=3)setup=5;t=80;else if(setup=4)setup=7;t=80;else if (setup4)setup= 7;t=80; game_select();void game_select()clear_viewprot(); /清除屏幕string menu_str=; cout开始游戏, 2-玩家自己设置测试内容, 3-挑选游戏难度, 4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论