用C语言编写一个猜数字游戏的程序(最好附带说明)

输入4位不重复的数,与计算机随机给出的4位数相匹配,若数字和位置均等同,则表示用户赢了;每猜一次,计算机均给出提示信息(x,y),x表示数字、位置都匹配的个数,y表示数字匹配但位置不匹配的个数。
要求: 1:交互界面友好;
2:给定H键做为帮助键,帮助用户尽快达到目的,无论何时,按下H键,均能得到详细信息,如:第一位数字正确,第2,3位数字位置不对等;
3:给定K键做为管理键,按下后可以查看计算机所给的4位数,但查看前需要输入密码,密码自定;
4:设置游戏分值,将每次猜的结果以分值的形式给出,如初始分值1000分,每猜一次扣100分,若猜对一个数,奖励20分(计分算法自定);
5:将得分最高的前三位的分值在每次开始新游戏前显示出来,同时,在每次游戏结束后将前3位的分值存盘,文件名自定。
-----谢谢各位帮助!
不是很难的东西,大一C语的课设而已,主要用到的估计也就我们学过的数组、函数、指针等,高深的不用了

我住几天院估计没时间了 没有那么复杂只是需要调是而已 下边是我的代码还没完善
#include <stdlib.h>
#include <stdio.h>
//#include <iostream>
unsigned char Num[4] = {0},getNum[4] = {0x20,0x20,0x20,0x20};
void help(void)
{
char i =0,j = 0;
for(i =0;i<4;i++)
{
for(j = 0;j<4;j++)
if(Num[j] == getNum[i])
{
if(i==j)
printf("%dth is correct!\r\n",i);
else
{
printf("%d is a correct data\r\n",getNum[i]);
}

}
else
{
if(i == 3&&j==3)
{printf("/********************small game*****************/\
input 4 data gess the random data,input h can get help\
");}
}
}
}

void main( void )
{
int orginal = 0,getdata = 0,i = 0,j = 0;
// { int a;a = 878*101;cout<<a<<endl}
//first = 0,second = 0,third = 0,fourth = 0;
/* Seed the random-number generator with GetTickCount so that
the numbers will be different every time we run.
*/
srand( (unsigned)time( NULL ) );

orginal = rand();
Num[3] = orginal%10000/1000;
Num[2] = orginal%1000/100;
Num[1] = orginal%1000%100/10;
Num[0] = orginal%10;
// printf(" %d",orginal);
for(i = 0;i<4;)
{

for(j = i+1;j<4;j++)
{
if(Num[i]==Num[j])
{ Num[i]++;if(Num[i]>9) Num[i] = 0;i=0;break;}
}
if(j == 4)i++;
}
get: for(i = 0;i<4;)
{
printf("input Num %d ",i);
scanf("%s",&getNum[i]);

if(getNum[i]-0x30>9||getNum[i]-0x30<0)
{
if (getNum[i] == 'H'||getNum[i] =='h')
{
help();
}
else
printf("input one num\r\n");
//if(i>0)i--;
}
else
{
getNum[i] -=0x30;
for(j = 0;j<i;j++)
{
if(getNum[i] == getNum[j])
{printf("have a same data,please input another\r\n"); break;}
}

if(j==i)
i++;
}
}
printf("you input num %d%d%d%d Y or N?\r\n",getNum[0],getNum[1],getNum[2],getNum[3]);
do{
scanf("%c",&j);
printf("%c",j);
if((j == 'N') || (j == 'n'))goto get;
}while( !((j == 'Y') || (j == 'y')));
printf("over");

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-29
有偿,先程序后cash ,有意加我

用C语言编写一个猜数字游戏的程序(最好附带说明)
} printf("you input num %d%d%d Y or N?\\r\\n",getNum[0],getNum[1],getNum[2],getNum[3]);

用C语言编写一段猜数字游戏,跟一般的不一样,规则如下
printf("答案是:%d\\n你猜对了,接受惩罚。",k);return 0;}

C语言编程,猜数字游戏,求解!
int main (){ int guess[4],answer[4]={1,3,5,2},a=0,b,times=0,i,j;;printf("please guess\\n");while(a!=4){ a=0;b=0;times++;\/\/printf("%d ",times);printf("输入你猜的数字 ");for(i=0;i<4;i++)scanf("%d",&guess[i]); \/\/你要说清楚放在哪!不然系...

c语言小游戏:猜数字 随机一个1-100之间的数,根据数据输入进行提示_百度...
int value=0;int num=0;srand((unsigned int) time(NULL));num=rand()%100+1; \/\/1-100 while(1){ scanf("%d",&value);if(num>value){ printf("您猜小了\\n");} else if(num<value){ printf("您猜大了\\n");} else if(num=value){ printf("恭喜您猜对了\\n");break;} } ...

猜数字游戏C语言编程
char over,c;printf("退出游戏请输入z\\n");do { srand (time(NULL));magic=rand()%100+1;printf("请输入猜测的数字1~100\\n");for(k=0;guess!=magic;k++){ scanf("%d",&guess);if (guess==magic)printf("恭喜,你猜对了!\\n");scanf("%c",&over);if (over=='z'){ printf(...

用C语言编写的小游戏代码是什么?
void start( ) \/\/开始游戏 {int m,n; \/\/m是完全猜对的个数,n是顺序不对的个数 while(1){srand((unsigned)time(NULL)); \/\/初始化随机数发生器srand( )while(1) { for(int i=0;i<4;i++) a[i]=rand( )%10; \/\/rand( )函数每次随机产生一个0-9的数 if( (a[3]!=a...

用C语言编写一个具有简单界面的猜数字游戏
分析:先产生一个随机数N。然后输入数I,如果i大于N,则提示大于信息。如果I小于N,则提示小于信息。直到I==N,则输出成功信息。这是我用C语言写的。环境:WIN-C ,TORBO C,如果是C++环境把倒数第二排getch();删掉!已经调试成功:main(){ int i=0,n;srand(time(0));n=rand()%100+1;w...

C语言 编写一个猜数字游戏,规则:使用随机函数产生一个5位数,输入猜测...
void main(){ intA=0,B,i,j,k=0,a[5],g[5];printf("请输入你猜测的一个5位数数字\\n");scanf("%d",&k);while(k<12345||k>99999){ printf("你输入了一个非常规数据,请重新输入\\n");scanf("%d",&k);} srand((unsignedint)time(NULL));for(i=0;i<5;i++){ a[i]=rand...

c语言猜数字游戏
=strlen(guess)) {printf("Unequal Length!");return NULL;} for(i=0;i<4;i++) {if(secret[i] == guess[i])countA++;else{count[secret[i]-'0']++;if(count[secret[i] - '0'] <= 0){ countB++; } count[guess[...

c语言编程 编一个猜数字游戏
define NUMBER_LIMIT 10 \/* 随机数限制, 每一位0-9 *\/ define INPUT_LENTH 128 \/* 输入缓冲区大小 *\/ char goal[NUMBER_LENGTH] = {0}; \/* 保存随机数 *\/ char flag[NUMBER_LIMIT] = {0}; \/* 保存随机数标志, 保证不重复 *\/ char input[INPUT_LENTH] = {0}...

相似回答