记忆力小游戏课程设计报告文档格式.docx
- 文档编号:19947412
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:21
- 大小:328.55KB
记忆力小游戏课程设计报告文档格式.docx
《记忆力小游戏课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《记忆力小游戏课程设计报告文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
3、程序给出一句话让参与者在规定的时间内记忆,然后打乱这句话的顺序让参与者按照显示出的文字的顺序写出,进行两次,最后系统会提示让参与者写出第一次显示出的文字
4、参与者也可以选择自己输入一句话进行游戏,其他内容按照功能3
5、程序有打分功能,每次游戏结束后给参与者打分并显示分数
2.3可行性
从技术上来说,C++语言是高级编程语言,它可以编写应用程序,并且能够成功运行,在windows7系统中的MicrosoftVisualStudio2008的平台下,我已经实验成功,程序虽然有些小的不足,但是大体上还是差强人意的。
从操作上来说,在明白游戏基本规则的情况下,进行简单的键盘操作即可游戏,游戏简单易懂,在闲暇的时候,它能给您带来乐趣的同时锻炼记忆力。
第三章详细设计说明
3.1主函数的流程图
图3-1主函数流程图
3.2各个子函数的流程图
子函数voidset_game_content()的流程图:
图3-2-1voidset_game_content()函数流程图
子函数voidset_game_setup()的流程图:
图3-2-2voidset_game_setup()函数流程图
子函数voiddelay(intt)、voidend_game()、voidclear_viewprot()的流程图:
图3-2-3voiddelay(intt)函数流程图
图3-2-4voidend_game()函数流程图
图3-2-5voidclear_viewprot()函数流程图
3.3功能及使用说明
1、此程序包含八个函数:
intmain();
voidset_game_content();
voidbegin_game();
voidset_game_setup();
voidgame_select();
voiddelay(intt);
voidend_game();
voidclear_viewprot()
其中:
intmain()主函数,里面包含菜单函数;
voidset_game_content()输入内容设置界面,其中参与者可更改程序初始输出内容;
voidbegin_game()游戏开始界面,输出文字并要求参与者之后输入相同的文字;
voidset_game_setup()游戏难度设置界面,可供参与者选择难度;
[1]
voidgame_select()游戏菜单界面;
voiddelay(intt)延时函数;
[2]
voidend_game()游戏结束界面;
voidclear_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<
iostream>
string>
vector>
algorithm>
ctime>
cstdlib>
usingnamespacestd;
charch[200]="
你好啊"
ch1[400]="
计算机程序不好做啊"
ch2[400]="
大家毕业之后是考研还是出国呢"
ch3[600]="
我们不知道谁在不经意间说了再见之后就真的再也不见了"
;
//玩家必须猜出来的字符串
staticintsetup=1;
//难度
staticintpoint=10;
staticintt=100;
voidset_game_content();
voidbegin_game();
voidset_game_setup();
voidgame_select();
voiddelay(intt);
voidend_game();
voidclear_viewprot();
stringrandom_string(strings);
intmain()
{
srand(time(0));
game_select();
}
voidset_game_content()
{
clear_viewprot();
//清除屏幕
cout<
<
"
请输入你要设置的测试内容:
endl;
getchar();
cin.getline(ch,400);
game_select();
voidbegin_game()
stringran_str1;
stringinput_str;
stringran_str2;
strings;
inti=0;
intnum=1;
//关数
stringstr;
begin:
clear_viewprot();
ran_str1="
input_str="
ran_str2="
s="
现在是第"
num<
关哦!
请你把下面的字记住"
endl<
if(setup==1)
str=ch;
elseif(setup==3)
str=ch1;
elseif(setup==5)
str=ch2;
elseif(setup==7)
str=ch3;
ran_str1=random_string(str);
//打乱玩家要猜的字符串
ran_str1<
大概几秒后,上面的字自动消失!
delay(t);
for(i=0;
i<
2;
i++)
//清楚屏幕
下面是已经打乱的字:
ran_str2=random_string(str);
ran_str2<
请输入上面的字:
"
cin>
>
input_str;
while(input_str!
=ran_str2)//当玩家输入的字符不等于打乱的字符,继续输入
cout<
输入错误,请重新输入"
ran_str2=random_string(str);
cin>
}//while语句结束
}//for语句结束
请输入在第一次看到的字:
if(input_str==ran_str1)
输入成功,继续努力!
你现在的分数是"
point<
point=point*2+strlen(ch);
要继续游戏吗?
1->
继续游戏(难度加大),2->
退出游戏"
s;
if(s[0]=='
2'
)
{
end_game();
}
else
num++;
setup=setup+1;
//游戏的难度
if(t>
40)
t=t-5;
gotobegin;
*****************你输了,还想挑战吗*****************"
if(point>
0)
point=point-10;
(难度变小)1->
继续游戏,2->
if(t<
150)
t=t+5;
if(setup>
setup--;
关,fighting!
voidset_game_setup()
请输入游戏的难度:
easy,2->
medium,3->
hard,4->
crazy"
setup;
setup=1;
t=100;
elseif(setup==2)
setup=3;
t=90;
setup=5;
t=80;
elseif(setup==4)
setup=7;
elseif(setup<
=0)
setup=1;
t=100;
elseif(setup>
4)
setup=7;
voidgame_select()
stringmenu_str="
1->
开始游戏,2->
玩家自己设置测试内容,3->
挑选游戏难度,4->
menu_str;
switch(menu_str[0])
case'
1'
:
begin_game();
break;
set_game_content();
break;
3'
set_game_setup();
default:
voiddelay(intt)//延时函数
inti;
for(i=0;
i<
15000000*t;
i++)
{
i++;
}
voidend_game()
Now,gameover.GoodBye!
system("
cls"
);
***********************记忆力小游戏********************"
设计者:
李征设计时间:
/12/24"
*******************************************************"
stringrandom_string(strings)
stringstr1="
charch[3],ch1[2];
inti2=0;
vector<
str;
vector<
:
iteratornum;
intn=0;
for(inti=0;
i<
s.size();
i++)
if(s[i]>
127||s[i]<
0)
ch[2]='
\0'
ch[i2]=s[i];
if((n+1)%2==0)
str.push_back(ch);
ch[0]='
ch[1]='
n++;
i2++;
if(i2==2)
i2=0;
ch1[1]='
ch1[0]=s[i];
str.push_back(ch1);
random_shuffle(str.begin(),str.end());
for(num=str.begin();
num!
=str.end();
num++)
str1=str1+*num;
}
returnstr1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 记忆力 小游戏 课程设计 报告