脚趾头皮发黄变厚:用C++编写猜数游戏的程序
例如:电脑随机生成一个4位数是1234,玩家猜的数是1357,则显示猜测结果为2A1B;
2.[1]设计友好的游戏交互界面.
[2]随机产生一个没有重复数字的4位整数.
[3]当玩家输入4位数为:
(1)9999,则结束游戏;
(2)8888,获得帮助信息,如:第1位数字正确,第2,3位数字不对等.
(3)7777,可以查看计算机所给的4位数.
[4]猜的结果以分值的形式给出,完全猜对奖励100分,每猜对1个数,或1个数的位置,奖励20分.
[5]每次游戏结束后将分值存入名为Game.txt的文件中.
用VC++做.运用C++.
用VC++6.0;十分紧急!希望大家帮帮忙!谢谢谢谢谢谢啊!!
#include "stdafx.h"
#include <time.h>
using namespace std;
void guess( int randomNum[4]);
int n=0;
void main()
{
cout<<"*****************猜数字小游戏***************"<<endl;
cout<<"***请输入四个不同的0~9间整数且首位不要为0***"<<endl;
cout<<"**************Such as: 9876 Enter***********"<<endl;
int randomNum[4],temp[10],randomSum,n=10;
srand((unsigned)time( NULL ));
for(int i=0;i<=3;i++)
{
randomNum[i]=rand() % 10;
}
for(int i=0;i<=9;i++)
{
temp[i]=i;
}
for(int i=0;i<=3;i++)
for(int j=0;j<9;j++)
{
if(randomNum[i]==temp[j])
{
for(int k=j;k<9;k++)
temp[k]=temp[k+1];
}
}
for(int i=0;i<=3;i++)
{
randomSum=0;
randomSum+=randomNum[i];
}
for(int i=1;i<=3;i++)
for(int j=0;j<i;j++)
{
if(randomNum[i]==randomNum[j])
{
randomNum[i]=temp[(randomSum++)%6];
}
}
if(randomNum[0]==0)
{
int temp;
temp=randomNum[0];
randomNum[0]=randomNum[1];
randomNum[1]=temp;
}
guess(randomNum);
}
void guess( int randomNum[])
{
int input,a=0,b=0;
int inputArray[4];
cin>>input;
for(int i=3;i>=0;i--)
{
inputArray[i]=input%10;
input/=10;
}
for(int i=0;i<=3;i++)
{
if(inputArray[i]==randomNum[i])
a++;
}
for(int i=0;i<=3;i++)
for(int j=0;j<=3;j++)
{
if(inputArray[i]==randomNum[j])
b++;
}
if(a==4)
{
cout<<"succeed!"<<endl;
exit(0);
}
else
{
cout<<a<<"A"<<b-a<<"B"<<endl;
n++;
if(n==10)
{
cout<<"还是看答案吧,呵呵~~"<<endl;
for(int i=0;i<=3;i++)
cout<<randomNum[i];
cout<<endl;
exit(0);
}
else
{
guess(randomNum);
}
}
}
做起来应该不难啊..
你加我QQ.22680347
我做了个给你