问题标题: 酷町堂:循环课设

0
0

0
已采纳
王文博
王文博
缔造者之神
缔造者之神

猜数游戏
实现一个猜数游戏:
游戏设计考虑:
 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; }

0
0
李醒
李醒
新手光能
新手光能

为什么我都学2年了,只做了2个课设:ATM系统  推箱子游戏

0
朱优扬
朱优扬
中级天翼
中级天翼

是叫你写一个猜数小游戏(具体见楼上的楼上)

0
0
我要回答