求用C++编写猜数字游戏的代码,环境是visual studio 6.0 5
系统功能:1.开始游戏1)游戏软件随机产生一个各位数不重复的4位数,但不显示2)用户输入所猜数字,按回车提交3)游戏将提交的数与自动产生的数比较,提交结果为’*A*B’格...
系统功能:1.开始游戏
1)游戏软件随机产生一个各位数不重复的4位数,但不显示
2)用户输入所猜数字,按回车提交
3)游戏将提交的数与自动产生的数比较,提交结果为’*A*B’格式,A代表位置正确数字也正确,B代表数字正确但位置不正确
4)共有10次机会,在10次内,如果结果为’4A4B’
游戏成功,如果10次都没猜对,游戏失败
5)当玩家赢得游戏后,会与排行榜中的前5名游戏机录比较,如果排名能进入前5名,则提示用户输入玩家姓名,更新排行榜
记分规则:猜数字所用次数即为分数,所以分数越少成绩越好
2.排行榜查看
再排行榜查看功能中,用户可以查看当前的游戏排行,排行榜中总共显示前5名玩家和分数
3.帮助
在帮助模块,用户可以查看游戏规则 展开
1)游戏软件随机产生一个各位数不重复的4位数,但不显示
2)用户输入所猜数字,按回车提交
3)游戏将提交的数与自动产生的数比较,提交结果为’*A*B’格式,A代表位置正确数字也正确,B代表数字正确但位置不正确
4)共有10次机会,在10次内,如果结果为’4A4B’
游戏成功,如果10次都没猜对,游戏失败
5)当玩家赢得游戏后,会与排行榜中的前5名游戏机录比较,如果排名能进入前5名,则提示用户输入玩家姓名,更新排行榜
记分规则:猜数字所用次数即为分数,所以分数越少成绩越好
2.排行榜查看
再排行榜查看功能中,用户可以查看当前的游戏排行,排行榜中总共显示前5名玩家和分数
3.帮助
在帮助模块,用户可以查看游戏规则 展开
展开全部
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
void main()
{cout<<"游戏说明:\n";
cout<<"输入四个不重复的数,之后屏幕将显示m A n B,(0<=m<=4,0<=n<=4),"
<<"表示输入的数中有m个猜中且位置正确,有n个猜中但位置错误,根据提示"
<<"输入数字,若猜十次仍得不到正确结果,则游戏结束。每次输入后都可"
<<"以选择继续或查看答案并退出。\n";
int A,B,C,D;
srand(time(0));
int i=0;
while (i<1)
{
A=rand()%10;
B=rand()%10;
C=rand()%10;
D=rand()%10;
if((A!=B)&&(A!=C)&&(A!=D)&&(B!=C)&&(B!=D)&&(C!=D))
i++;
}
cout<<"请输入四个不重复的数:\n";
for(int j=1;j<=10;j++)
{
int a,b,c,d;
cin>>a>>b>>c>>d;
if((a==A)&&(b==B)&&(c==C)&&(d==D))
{cout<<"You are so clever!\n";}
else
{
int m,n;
char choice;
m=(a==A)+(b==B)+(c==C)+(d==D);
n=((a==B)||(a==C)||(a==D))+((b==A)||(b==C)||(b==D))+((c==A)||(c==B)||(c==D))+((d==A)||(d==B)||(d==C));
cout<<m<<"A"<<n<<"B"<<endl;
cout<<"Print "<<'\"'<<"c"<<'\"'<<" to continue and print "<<'\"'<<"e"<<'\"'<<" to exit.\n";
cin>>choice;
if(choice=='e')
break;
}
}
cout<<"The correct answer is:\n";
cout<<A<<'\t'<<B<<'\t'<<C<<'\t'<<D<<endl;
}
#include<stdlib.h>
#include<time.h>
void main()
{cout<<"游戏说明:\n";
cout<<"输入四个不重复的数,之后屏幕将显示m A n B,(0<=m<=4,0<=n<=4),"
<<"表示输入的数中有m个猜中且位置正确,有n个猜中但位置错误,根据提示"
<<"输入数字,若猜十次仍得不到正确结果,则游戏结束。每次输入后都可"
<<"以选择继续或查看答案并退出。\n";
int A,B,C,D;
srand(time(0));
int i=0;
while (i<1)
{
A=rand()%10;
B=rand()%10;
C=rand()%10;
D=rand()%10;
if((A!=B)&&(A!=C)&&(A!=D)&&(B!=C)&&(B!=D)&&(C!=D))
i++;
}
cout<<"请输入四个不重复的数:\n";
for(int j=1;j<=10;j++)
{
int a,b,c,d;
cin>>a>>b>>c>>d;
if((a==A)&&(b==B)&&(c==C)&&(d==D))
{cout<<"You are so clever!\n";}
else
{
int m,n;
char choice;
m=(a==A)+(b==B)+(c==C)+(d==D);
n=((a==B)||(a==C)||(a==D))+((b==A)||(b==C)||(b==D))+((c==A)||(c==B)||(c==D))+((d==A)||(d==B)||(d==C));
cout<<m<<"A"<<n<<"B"<<endl;
cout<<"Print "<<'\"'<<"c"<<'\"'<<" to continue and print "<<'\"'<<"e"<<'\"'<<" to exit.\n";
cin>>choice;
if(choice=='e')
break;
}
}
cout<<"The correct answer is:\n";
cout<<A<<'\t'<<B<<'\t'<<C<<'\t'<<D<<endl;
}
展开全部
#include <stdio.h>
#include <time.h>
main()
{
int question[4]={-1,-1,-1,-1},i=0,j=0,k=0,A=0,B=0,answer[4]={0};
char again='y';
while(again=='y')
{
srand((int)time(0));
while(i<4)
{
k=(int)rand()%10;
for(j=0;j<i;j++)
if(k==question[j])
{
k=-1;
break;
}
if(k==-1)
continue;
question[i]=k;
i++;
}/*while i*/
for(i=10;i>0;i--) /*还有10次机会*/
{
A=0;B=0;
printf("\n你还剩下%d次机会。",i);
printf("\n请输入四个0-9之间的数字,中间用空格隔开\n");
for(j=0;j<4;j++)
scanf("%d",&answer[j]);
for(j=0;j<4;j++)
for(k=0;k<4;k++)
{
if(answer[j]==question[k])
{
if(j==k) A++;
else B++;
}
}/*for*/
if(A==4)
{
again='0';
printf("\n你赢了,还继续猜吗?(y/n)");
while(again!='y'&&again!='n')
scanf("%c",&again);
break;
}/*if*/
printf("\n%dA%dB",A,B);
if(i==1)
{
again='0';
printf("\n你输了,正确答案是");
for(j=0;j<4;j++)
printf("%d\t",question[j]);
printf("\n还继续吗?(y/n)");
while(again!='y'&&again!='n')
scanf("%c",&again);
printf("%c",again);
break;
}/*if*/
}/*for changce*/
}/*while again*/
printf("感谢您玩这个游戏。");
}
这是个基本功能,其他的自己添加吧呵呵
#include <time.h>
main()
{
int question[4]={-1,-1,-1,-1},i=0,j=0,k=0,A=0,B=0,answer[4]={0};
char again='y';
while(again=='y')
{
srand((int)time(0));
while(i<4)
{
k=(int)rand()%10;
for(j=0;j<i;j++)
if(k==question[j])
{
k=-1;
break;
}
if(k==-1)
continue;
question[i]=k;
i++;
}/*while i*/
for(i=10;i>0;i--) /*还有10次机会*/
{
A=0;B=0;
printf("\n你还剩下%d次机会。",i);
printf("\n请输入四个0-9之间的数字,中间用空格隔开\n");
for(j=0;j<4;j++)
scanf("%d",&answer[j]);
for(j=0;j<4;j++)
for(k=0;k<4;k++)
{
if(answer[j]==question[k])
{
if(j==k) A++;
else B++;
}
}/*for*/
if(A==4)
{
again='0';
printf("\n你赢了,还继续猜吗?(y/n)");
while(again!='y'&&again!='n')
scanf("%c",&again);
break;
}/*if*/
printf("\n%dA%dB",A,B);
if(i==1)
{
again='0';
printf("\n你输了,正确答案是");
for(j=0;j<4;j++)
printf("%d\t",question[j]);
printf("\n还继续吗?(y/n)");
while(again!='y'&&again!='n')
scanf("%c",&again);
printf("%c",again);
break;
}/*if*/
}/*for changce*/
}/*while again*/
printf("感谢您玩这个游戏。");
}
这是个基本功能,其他的自己添加吧呵呵
参考资料: http://zhidao.baidu.com/question/39263348.html?si=1
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样不能用C++要用JAY的写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询