缔造者之神
猜数游戏
实现一个猜数游戏:
游戏设计考虑:
1:每次游戏开始时随机生成–个整数ans。
2:玩家有3次猜数的机会。
3:如果一次就猜对了,则输出“运气爆表!一次就对啦! (~ V )~ ”,游戏结束,可以选择是否继续。
4:如果猜对了就输出“猜对啦! 0(∩_ ∩)O~”, 游戏结束,可以选择是否继续。
5:如果没有猜对则会根据数值提示“数字大了点!”“数字小了点!”。
6:3次机会仍未猜对输出“再接再厉哦!”,游戏结束,可以选择是否继续。
增加游戏趣味性:增加一个彩蛋----找到特殊彩蛋的,奖励额外生命值
常用功能补充
Sleep(1000);//延迟1000毫秒
system(“cls”);//清屏
注意:1:使用以上两个函数需要头文件:#include <windows.h>
2:注意延迟函数的书写格式:Sleep( );单词的首字母S必须大写
Step1:随机生成一个数
系统随机生成一个数:
利用rand函数生成一个随机数
额外需头文件:
#include
#include<windows.h>或者#include
代码实现:
Eg:在10~10000之间随机生成一个数
int minn=10,maxn=10000;//在10~10000之间随机生成一个数 srand((int)time(NULL));//生成随机数函数初始化 //在10~10000之间随机生成一个数放到 ans 中 int ans=minn+rand()%(maxn-minn+1);
Step2:游戏初始化 使得游戏更接近与生活中常见的游戏形式,更贴近于生活,在游戏中增加一些初始化功能;初始化:游戏启动中,正在载入游戏,请稍等.......游戏加载成功
cout<<"游戏启动中,正在载入游戏,请稍等"; for(int i=1;i<=6;i++){//模拟游戏初始化加载过程 还可以换成%的形式 Sleep(1000); cout<<"."; } cout<<"\n游戏加载完成!\n"; Sleep(1000); system("cls");//进入游戏后清屏
Step3:每次进入游戏后页面信息展示 欢迎进入游戏并显示当前剩余生命值HP 提示玩家开始进行游戏
int hp=3;//初始有三次机会 cout<<"欢迎来到猜数游戏\n准备好了么?让我们一起开始吧\n"; Sleep(1000); for(int i=1;i<=hp;i++){ cout<<"当前您的HP为:"<<hp+i-1<<"\n"; cout<<"请输入一个("<<minn<<"~"<<maxn<<")之间的数字:"<<endl; cin>>a; }
Step4:逻辑判断 对玩家输入的数字进行判断,并给出相应的提示,根绝玩家的答案与给出的数字进行比较,给出本次猜数的结果
对每次循环输入的数值a进行判断:
1:如果a等于ans并且i==1,输出"运气爆表!一次就对啦! (~~ V )~", 然后本次游戏结束,退出循环。
2:如果a等于ans,输出"猜对啦! 0(∩_ ∩)O~",然后本次游戏结束,退出循环。
3:如果a大于ans并且i<3,输出"数字大了点!"
4:如果a小于ans并且i<3,输出"数字小了点!"
5:否则输出"再接再厉哦!"
if(a==ans&&i==1){ cout<<"运气爆表!一次就对啦! (>o<)~!\n"; break; } else if(a==ans){ cout<<"猜对啦! 0(∩_ ∩)O~\n"; break; } else if(a>ans&&i<hp){ cout<<"数字大了点!\n"; } else if(a<ans&&i<hp){ cout<<"数字小了点!\n"; } else{ cout<<"很遗憾,你没有猜中!再接再厉哦\n\n"; }
Step5:彩蛋设计
为玩家特意留下一些隐藏的不易发现的有趣内容,可以设置一个当输入的a为某一个值时,触发这个彩蛋
if(a==9999){ system("cls"); Sleep(1000); cout<<"恭喜你发现本游戏的彩蛋,你将获得额外生命值\n"; hp=11; continue; }
Step6:游戏的可玩性
很多时候一遍下来是不能猜中数字的,很多玩家玩过一遍后想再玩第二遍,第三遍。。。。。如果每次都需要重新打开会过于繁琐,为了提高游戏可玩性----可以重复的玩,可以通过死循环来实现
在当前这轮猜数结束后,询问完家是否选择继续游戏
为了继续游戏,我们可以在刚才的循环代码外面再加上一个while(1)循环。
每次游戏结束后,我们可以先等待1秒.
然后输出"继续游戏请输入Y,输入其他字符退出游戏"
再对输入的字符进行判断,如果不是’Y’,输出"ByeBye",然后break,结束while循环,游戏结束。
char jx; cout<<"继续游戏请输入Y,输入其他字符退出游戏\n"; cin>>jx; if(jx!='Y'){ cout<<"Bye~Bye~\n"; system("pause"); break; }