百利金钢笔图片:C语言猜数字程序代码问题

来源:百度文库 编辑:高考问答 时间:2024/04/28 17:53:55
随机产生5个数(0-9).用户输入5个数进行核对.位置正确数字正确为A.数字正确位置不正确为B.5A时提示继续还是退出.类似文曲星里的游戏.哪位高人有具体的程序代码参考下

#include"stdio.h"
#include"time.h"
#include"windows.h"
#include"math.h"
#include"stdlib.h"

int num=5;
int numIntermission=1;
int flashNum=5;
int allNumIntermission=600;

void mainPage()//主界面:欢迎界面、进度条
{
int i;
system("color 9f");
printf("\n\n\n\n\t\t**********系统加载中,请稍候……**********\n");
printf(" \n");
printf("\t -------- __@ __@ __@ __@ __~@ \n");
printf("\t ----- _`\<,_ _`\<,_ _`\<,_ _`\<,_ _`\<,_ \n");
printf("\t ---- (*)/ (*) (*)/ (*) (*)/ (*) (*)/ (*) (*)/ (*) \n");
for(i=0;i<69;i++)
{
printf("<");
if(i%5!=0)
{
Sleep(50);
}
else
{
Sleep(i*3);
}
}

printf("\n");
printf(" \n");
system("CLS");
system("color d");
printf("\n\n");
printf("\t≯≯≯≯≯≯≯≯≯≯≯≯≯≯≯≮≮≮≮≮≮≮≮≮≮≮≮≮≮≮\n\n");
system("color a");
Sleep(500);
printf("\t≯≯≯≯≯≯≯≯≯≯≯≯≯≯≯≮≮≮≮≮≮≮≮≮≮≮≮≮≮≮\n\n");
system("color b");
Sleep(500);
printf("\t≯≯≯≯≯≯≯≯≯≯ 欢迎使用记数游戏 ≮≮≮≮≮≮≮≮≮≮\n\n");
system("color c");
Sleep(500);
printf("\t≯≯≯≯≯≯≯≯≯≯ ≮≮≮≮≮≮≮≮≮≮\n\n");
system("color d");
Sleep(500);
printf("\t≯≯≯≯≯≯≯≯≯≯ ≮≮≮≮≮≮≮≮≮≮\n\n");
system("color a");
Sleep(500);
printf("\t≯≯≯≯≯≯≯≯≯≯ 信息工程系 ≮≮≮≮≮≮≮≮≮≮\n\n");
system("color b");
Sleep(500);
printf("\t≯≯≯≯≯≯≯≯≯≯ 应用电子(1)班 ≮≮≮≮≮≮≮≮≮≮\n\n");
system("color c");
Sleep(500);
printf("\t≯≯≯≯≯≯≯≯≯≯ ≮≮≮≮≮≮≮≮≮≮\n\n");
system("color d");
Sleep(500);
printf("\t≯≯≯≯≯≯≯≯≯≯ 2012.11≮≮≮≮≮≮≮≮≮≮\n\n");
system("color a");
Sleep(500);
printf("\t≯≯≯≯≯≯≯≯≯≯≯≯≯≯≯≮≮≮≮≮≮≮≮≮≮≮≮≮≮≮\n\n");
system("color c");
Sleep(500);
printf("\t≯≯≯≯≯≯≯≯≯≯≯≯≯≯≯≮≮≮≮≮≮≮≮≮≮≮≮≮≮≮\n\n");
Sleep(3000);
system("CLS");
system("color b");
printf("\n\t *1 表示退出 \n");
printf("\t\t 表示退出这个游戏 \n");
system("color 9a");
Sleep(1000);
printf("\n\n\t *2 表示游戏开始 \n");
printf("\t\t 表示开始游戏这个游戏 \n");
system("color 9b");
Sleep(1000);
printf("\n\n\t *3 表示游戏设置 \n");
printf("\t\t 目前游戏系统相关设置\n");
printf("\t\t 设置显示数字的个数是多少\n");
printf("\t\t 设置显示数字间间隔的秒数是多少\n");
printf("\t\t 设置显示数字闪动次数是多少\n");
printf("\t\t 设置每次显示全部数字间隔时间秒数是多少\n");
system("color 9c");
Sleep(1000);
printf("\n\n\t *5 表示帮助 \n");
printf("\t\t游戏规则:输入1,表示退出%\n");
printf("\t\t 输入2,表示游戏开始\n");
printf("\t\t 输入3,表示游戏系统设置\n");
printf("\t\t 输入5,表示游戏帮助\n");
printf("\t\t 说明:系统随机生成指定个数的数字,闪现一段时间\n");
printf("\t\t 输入数字必须按照数字出现先后顺序\n");
printf("\t\t 当记忆全对,你就胜出了,否则给鼓励信息\n");
Sleep(5000);
system("CLS");
system("color 9c");
}
void help()
{
printf("\t\t 帮助信息\n");
printf("\t\t游戏规则:输入1,表示退出%\n");
printf("\t\t输入2,表示游戏开始\n");
printf("\t\t输入3,表示游戏系统设置\n");
printf("\t\t输入5,表示游戏帮助\n");
printf("\t\t说明:系统随机生成指定个数的数字,闪现一段时间\n");
printf("\t\t输入数字必须按照数字出现先后顺序\n");
printf("\t\t当记忆全对,你就胜出了,否则给鼓励信息\n");
printf("\t\t帮助信息\n");
Sleep(2000);
}

void exitGame()
{
char select;
printf("你确定要退出码?退出请按Y或y,继续点任意键\n");
scanf("%c",&select);
getchar();
fflush(stdin);
if(select=='Y'||select=='y')
{
printf("欢迎再来游戏\n");
exit(1);
}
else
{
return;
}
}

void SystemSet()
{
char choice;
printf("############进行游戏系统相关设置###########\n");
printf("目前显示数字的个数是%d\n",num);
printf("是否设置显示个数,不设置请输入Y或y,设置点任意键\n");
scanf("%c",&choice);
getchar();
fflush(stdin);
if(choice=='Y'||choice=='y')
{printf("保持默认值:%d\n",num);}
else
{
printf("请输入你设置的数值");
scanf("%d",&num);
getchar();
fflush(stdin);
printf("显示数字个数设置成功\n");
}
printf("目前显示数字时间间隔的秒数是%d\n",numIntermission);
printf("是否设置显示数字时间间隔的秒数,不设置请输入Y或y,设置点任意键\n");
scanf(" %c",&choice);
getchar ();
fflush(stdin);
if(choice=='Y'||choice=='y')
{
printf("保持默认值:%d\n",numIntermission);
}
else
{
printf("请输入你设置的数值:");
scanf(" %d",&numIntermission);
getchar();
fflush(stdin);
printf("显示数字时间间隔的秒数设置成功\n");
}
printf("目前显示数字闪动次数是%d\n",flashNum);
printf("是否设置显示数字闪动次数,不设置请输入Y或y,设置点任意键\n");
scanf("%c",&choice);
getchar();
fflush(stdin);
if(choice=='Y'||choice=='y')
{
printf("保持默认值:%d\n",flashNum);
}
else
{
printf("请输入你设置的数值");
scanf("%d",&flashNum);
getchar();
fflush(stdin);
printf("显示数字闪动次数设置成功\n");
}
printf("目前每次显示全部数字间隔时间秒数是%d\n",allNumIntermission);
printf("是否设置每次显示全部数字间隔时间秒数,不设置请输入Y或y,设置点任意键\n");
scanf("%c",&choice);
getchar();
fflush(stdin);
if(choice=='Y'||choice=='y')
{printf("保持默认值:%d\n",allNumIntermission);}
else
{
printf("请输入你设置的数值");
scanf("%d",&allNumIntermission);
getchar();
fflush(stdin);
printf("每次显示全部数字间隔时间秒数设置成功\n");
}
printf("****************游戏系统相关设置*************\n");
Sleep(3000);
system("cls");
printf("*****************目前游戏系统相关设置*****************\n");
printf("目前显示数字的个数是%d\n",num);
printf("目前显示数字间间隔的秒数是%d\n",numIntermission);
printf("目前显示数字闪动次数是%d\n",flashNum);
printf("目前每次显示全部数字间隔时间秒数是%d\n",allNumIntermission);
printf("*****************目前游戏系统相关设置*****************\n");
}

void displayRandNumber(int array[],int n) //生成指定个数的随机数,按规定时间间隔显示数字,再整体显示指定次数。
{
int i,j;
//生成被记忆的随机数
printf("共有%d个数字需要记忆\n",num);
srand(time(0));
for(i=0;i<num;i++)
{
array[i]=rand()%100;
}
printf("\n");
//按序输出被记数字

for(i=0;i<num;i++)
{
printf("\r");
for(j=0;j<i;j++)
{
printf(" ");
}
printf("%d",array[i]);
Sleep(numIntermission*1000);
}

//闪显被记数字

for(j=0;j<flashNum;j++)
{
printf("\r");
if(j%2!=0)
printf(" ");
for(i=0;i<num;i++)
{
printf("%d ",array[i]);
}
Sleep(allNumIntermission);
}
}

void InputMemoryNumber(int confirmArray[],int n) //按显示的顺序手动输入记忆的数字
{
int i;
printf("\r");
printf("请按序输入你记住的相应数字,每个数字用空格隔开\n");
for(i=0;i<num;i++)
{
scanf("%d",&confirmArray[i]);
}
getchar();
fflush(stdin);
}

int countRightnumber(int array[],int confirmArray[],int n) //统计记忆正确数字的个数
{
int i,trueCount=0;
for(i=0;i<num;i++)
{
if(array[i]==confirmArray[i])
{
trueCount++;
}

}
return trueCount;
}
void displyMemoryCondition(int rightNum) //显示记忆状况
{

if(rightNum==num)
{
printf("\n你真棒,全对了\n");
}
else if(rightNum==0)
{
printf("\n你怎么了,一个都没记住\n");
}
else if(rightNum>0&&rightNum<num)
{
printf("\n你记住了%d个,还有%d个没记住\n",rightNum,num-rightNum);
}
else
{
printf("异常\n");
}
}

void gameDie(int array[],int confirmArray[],int n)//游戏核心模块集{
int rightNum=0;
displayRandNumber(array,100);
InputMemoryNumber(confirmArray,100);
rightNum=countRightnumber(array,confirmArray,100);
displyMemoryCondition(rightNum);

}

void gameMenu() //主菜单,用户进行选择
{

int select;
int array[101];
int confirmArray[100];
int n=100;
while(1){

printf("\t\t##################################\n\n");
system("color 1a");
Sleep(500);
printf("\t@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
system("color 1b");
Sleep(500);
printf("\t *1 退出 *2 游戏开始 \n");
system("color 1c");
Sleep(500);
printf("\t *3 游戏配置 *5 帮助 \n");
system("color 1d");
Sleep(500);
printf("\t@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");

printf("请输入相应数字,进入不同功能模块\n");
system("color 1a");
Sleep(500);
scanf("%d",&select);
getchar();
fflush(stdin);
if(select==2)
{
gameDie(array,confirmArray,n);
}
else if(select==5)
{
help();
}
else if(select==1)
{
exitGame();
}
else if(select==3)
{
SystemSet();
}
else
{
printf("选择非法,请重新输入进行再次选择\n");
}

}

}
void main()
{
mainPage();
gameMenu();
}

在TC上运行成功
如果在VC上运行,可以把英文提示换成中文的
#include <stdio.h>
#include <time.h>

main()
{
int question[5]={-1,-1,-1,-1,-1},i=0,j=0,k=0,A=0,B=0,answer[5]={0};
char again='y';
while(again=='y')
{
srand((int)time(0)); /*生成随机种子,保证每次题目不同*/
while(i<5) /*防止生成重复的数字*/
{
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("\nyou have%d changce left",i);
printf("\nplease input the number(0-9),devided with blank\n");
for(j=0;j<5;j++)
scanf("%d",&answer[j]);
for(j=0;j<5;j++)
for(k=0;k<5;k++)
{
if(answer[j]==question[k])
{
if(j==k) A++;
else B++;
}
}/*for*/
if(A==5)
{
again='0';
printf("\nYOU ARE RIGHT!\nAGAIN?(y/n)");
while(again!='y'&&again!='n')
scanf("%c",&again);
break;
}/*if*/
printf("\n%dA%dB",A,B);
if(i==1)
{
again='0';
printf("\nYOU LOSE ..");
printf("the right answer is:");
for(j=0;j<5;j++)
printf("%d\t",question[j]);
printf("\nAGAIN?(y/n)");
while(again!='y'&&again!='n')
scanf("%c",&again);
printf("%c",again);
break;
}/*if*/

}/*for changce*/

}/*while again*/
printf("thank you !");

}


...