win10安装snmpv3:用C++编写猜数游戏的程序

来源:百度文库 编辑:高校问答 时间:2024/05/04 12:55:00
1.功能说明:游戏规则:电脑随机生成一个米有重复数字的4位整数,让游戏者来猜它是什么.每次猜测的结果以"?A?B"的形式告诉玩家,A前面的数字表示数字,位置都匹配的个数,B前面的数字表示数字匹配但位置不匹配的个数.当显示4A时表示全部猜对.游戏者对猜测的结果进行逻辑判断,尽量用最少的步数猜出最终结果.
例如:电脑随机生成一个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
我做了个给你