C Base 猜数字游戏

//猜数字游戏
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>
void Init();

int i,j,k=0;
void gotoxy(int x, int y)  
{  
    COORD coord = {x, y};  
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);  
} 
int main()
{
	system("mode con cols=82 lines=30");
	int Key[4];//给出的数字
	int guess;//猜测的数字
    int a,b,x;//显示几个A几个B
    int times=0;
	//循环结束条件:当位置和数字都正确的次数小于4
	srand((unsigned)time(NULL)); 
	for(i=0;i<4;i++)
	{
		Key[i]=rand()%10;
	}
	Init();
	while(a!=4&&times<10)
	{
		
		a=0;
		b=0;
		times++;
		gotoxy(18,5+k);
		printf("  第 %d 次 ",times);
		gotoxy(38,5+k);
		scanf("%d",&guess);
		for(i=3;i>=1;i--)
		{
			x=(guess)%10;
			for(j=3;j>=0;j--)
			{
				if(x==Key[j])
					if(j-i==0)
						a++;
					else
						b++;
					
			}
			guess=guess/10;
		}
		gotoxy(52,5+k);
		k=k+2;
		printf("%d A ",a);
		printf("%d B \n",b);
		if(a==4)
		{
			system("color 4B");
			printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t哈哈,新年快乐!您猜对了\n\t\t\t");		
		}
		else
		{
			gotoxy(64,3+k);
			printf("格式:4 A 0 B");
			
		}
		gotoxy(70,40);
		
	}
	printf("\n\n\n\t\t\t\t");
	printf("正确答案: ");
	for(i=0;i<4;i++)
		printf("%d",Key[i]);
	printf("\n\n\t\t\t");
	
	return 0;
}
void Init()
{
	gotoxy(34,1);
	printf("四位数猜数字游戏");
	gotoxy(15,2);
	for(i=0;i<24;i++)
		printf("▄"); 
	for(i=3;i<=23;i++)
	{
		gotoxy(15,i);
		printf("▌");
		gotoxy(62,i);
		printf("▌");
	}
	
	gotoxy(12,24);
	for(i=0;i<27;i++)
		printf("▄");
	gotoxy(19,3);	 
	printf("   猜测次数");
	gotoxy(35,3);
	printf("   猜测数值");
	gotoxy(52,3);
	printf(" 结果反馈");
	for(j=0;j<20;j=j+2)
	{ 
		gotoxy(16,4+j);
		for(i=0;i<46;i++)
		{
			printf("-"); 
		}
	}
	for(j=0;j<18;j=j+17)
	{
		gotoxy(33+j,3);
		for(i=0;i<21;i++)
		{	
			gotoxy(33+j,i+3);
			printf("|"); 
		}
	}
	
	
}


你可能感兴趣的:(C Base 猜数字游戏)