📄 c game.txt
字号:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{
int a[4],b[4];
int k=0,t=0,r=0,i,j,p=0;
char ch;
do{ if(p==0) {printf("\n*********************\n");
printf("*welcome to the game*\n");
printf("*********************\n");}
do{
srand((unsigned)time(NULL));
a[0]=rand()%10;
a[1]=rand()%10;
a[2]=rand()%10;
a[3]=rand()%10;
}while(a[0]==a[1]||a[0]==a[2]||a[0]==a[3]||a[1]==a[2]||a[1]==a[3]
||a[2]==a[3]);
do{
printf("\nplease input four number(0-9):");
scanf("%d %d %d %d",&b[0],&b[1],&b[2],&b[3]);
getchar();
if(b[0]==b[1]||b[0]==b[2]||b[0]==b[3]||b[1]==b[2]||b[1]==b[3]
||b[2]==b[3])
printf("error!!!!please in put four different number!");
else
{
r++;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{if((j==i)&&(b[j]==a[i])) k++;
if((j!=i)&&(b[j]==a[i])) t++;
}
printf("%dA%dB",k,t);
if(k!=4)
{k=0;
t=0;}
}
}while((r<=8)&&(k!=4));
if((r==9)&&(k!=4))
printf("\n try you best next time!!!\nthe trut answer is:%d %d %d %d",a[0],a[1],a[2],a[3]);
if(k==4) printf("\n you are so smart!!!!");
p++;
printf("\ndo you want play it again(Y/N)?");
ch=getchar();
getchar();
r=0;
}while(ch=='y'||ch=='Y');
}
/*说明:直接放在c中就可以运行 */
/****************************************************
*********** 猜数字游戏 ****************
*********** by:wenzuqin ****************
*********** date:2006/10/19 ****************
*********** 如发现不足请大家修改,谢谢****************
*****************************************************/
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 4
#define MAX_TIMES 7
/* 随机出要猜的数字,四个数字都不相同 */
void create_rand_num ( int * rand_num )
{
int num[10]={0,1,2,3,4,5,6,7,8,9};/* 每位数的范围 */
int i;
int rand_n; /* 产生的随机数 */
int temp;
randomize(); /* 随机种子发生器 */
/* 产生四个不同随机数 */
for(i=0 ;i < N; i++)
{
/* 对数组的下标来随机,而不是对它的元素,请仔细思考 */
rand_n = rand()%(10-i) + i;
*(rand_num + i) = num[ rand_n ];
temp = num[i]; /* 随机到了的数字往前推,以后的随机中它不再出现 */
num[i] = num[ rand_n ];
num[ rand_n ] = temp;
}
}
/* 判断输入数据的合法性 */
int input_check ( int * guess )
{
int i=0;
for(;i < N; i++)
{
if(*(guess + i)>9 || *(guess + i)<0)
{
printf("Error! Input the right number!\n");
return 0;
}
}
return 1;
}
/* 判断玩家猜的数字,返回猜的次数,超过7次返回0 */
int guess_num ( int * rand_num )
{
int guess[N]; /* 玩家猜的数字 */
int times = 1;
int i, j;
int A, B; /* A表示数值且位置正确的个数,B只表示数值正确的个数 */
for(;times <= MAX_TIMES; times++)/* 最多猜可以7次 */
{
printf("\t%d:", times);
for(i=0 ;i < N; i++) /* 输入要猜的4个数字 */
scanf("%d", &guess[i]);
if( !input_check(guess) )
{ times --; continue;} /* 非法输入,重输 */
/* 判断用户所猜的数字 */
A = B = 0;
for(i=0 ;i < N; i++)
{
for(j=0 ;j < N; j++)
{
if(i==j && guess[j] == *(rand_num+i)) /* 数值和位置正确 */
{A ++; break; }
else if( guess[j] == *(rand_num+i) ) /* 数值正确 */
{B ++; break; }
}
if( i == N-1 ) /* 猜对了,返回猜的次数 */
if( A==N ) {printf("\n\t\t\tRight!\n"); return times;}
}
printf("\t\t\t%dA %dB\n", A, B);
}
return 0; /* 7次内没猜对 */
}
/* 统计结果 */
void result( int times , int * score )
{
switch( times )
{
case 1:case 2:case 3:
printf("\tVery Good!");
printf("\tScore +%d", 110-times*10 );
*score += 110-times*10; break;
case 4:case 5:case 6:
printf("\tGood!");
printf("\tScore +%d", 100-times*10 );
*score += 100-times*10; break;
case 7:
printf("\tPass!");
printf("\tScore +%d",20 );
*score += 20; break;
default: printf("\tCome On!");
}
}
/* 是否继续游戏 */
int go_on ()
{
char c;
printf("\n\n\tContinue game?(\'y\'or\'n\'):");
getchar();
if((c=getchar()) == 'y' || c == 'Y')
return 1;
return 0;
}
main()
{
int rand_num[N]; /* 产生的四个随机数 */
int times; /* 猜对结果所用的次数 */
int score = 0; /* 得分 */
int flag = 1 ; /* 继续游戏 */
while( flag )
{
clrscr();
printf("\tGUESS NUM GAME\tscore=%d\n", score);
create_rand_num ( rand_num );
times = guess_num(rand_num );
result( times , &score );
flag = go_on ();
}
}
#include<stdio.h>
#include <conio.h>
#include<stdlib.h>
main()
{
zhujiemian();
}
zhujiemian()
{
int pd;clrscr();
loop:
{
printf("\t\t\t GUESS THE RIGHT NUMBERS!\n");
printf("\n\n\n\t\t\t***********************************\n");
printf("\t\t\t* *\n");
printf("\t\t\t* 1.start *\n");
printf("\t\t\t* 2.help *\n");
printf("\t\t\t* 3.instruction *\n");
printf("\t\t\t* 4.quit *\n");
printf("\t\t\t* *\n");
printf("\t\t\t***********************************\n");
printf(" please choose one :");
scanf("%d",&pd);
switch(pd)
{
case 1:start();break;
case 2:help();break;
case 3:instruction();break;
case 4:quit();break;
default:clrscr();printf("\n\n\t\t\tERROR!");getch();clrscr();goto loop;
}
}
}
help()
{
clrscr();
printf("Please input 4 numbers .Then you get xAxB.A means the place and the amount are both right.B means only the amount is right.When you get 4A0B,you do a good job.\nREMEMBER:You only have 8 chances.\n\n\n\nPress any key to return.\n");
getch();
zhujiemian();
}
instruction()
{
clrscr();
printf("GUESS THE RIGHT NUMBERS V1.00\n\nMADE BY BEST1000\n\n\n\nPress any key to return.");
getch();
zhujiemian();
}
quit()
{
clrscr();
return(0);
}
start()
{
int a1,a2,a3,a4;
int b1,b2,b3,b4;
int i,j,n,g,h;
int A=0;int B=0;
int count=0;
clrscr();
printf("Let's begin the game\n");
do{
randomize();a1=rand()%9;a2=rand()%9;a3=rand()%9;a4=rand()%9;
}while(!(a1!=a2&&a1!=a3&&a1!=a4&&a2!=a3&&a2!=a4&&a3!=a4));
while(count<=8)
{
do{
printf("\ninput 4 numbers:");
scanf("%d%d%d%d",&b1,&b2,&b3,&b4);
}while(!(b1<=9&&b2<=9&&b3<=9&&b4<=9&&b1>=0&&b2>=0&&b3>=0&&b4>=0&&b1!=b2&&b1!=b3&&b1!=b4&&b2!=b3&&b2!=b4&&b3!=b4));
printf("%d %d %d %d",b1,b2,b3,b4);printf(" ");
if(b1==a1)A++;
if(b2==a2)A++;
if(b3==a3)A++;
if(b4==a4)A++;
if(b1==a2||b1==a3||b1==a4)B++;
if(b2==a1||b2==a3||b2==a4)B++;
if(b3==a1||b3==a2||b3==a4)B++;
if(b4==a1||b4==a2||b4==a3)B++;
count++;
if(A==4)
break;
else
{
printf("%dA%dB",A,B);A=0;B=0;
}
}
printf("\nRight answer:%d %d %d %d",a1,a2,a3,a4);
getch();
zhujiemian();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -