猜数字游戏v2.0[C语言][自制]

和室友做的第二个版本。具体就是判断四位数字是否相同,然后给出哪个位相同,哪个位不同XD。

具体思路:

用随机函数产生四位数字,然后一位位比较。这个是个so easy 版本,没有猜测次数限制XD

效果图:

猜数字游戏v2.0[C语言][自制]_第1张图片

代码如下:

/*GuessNumberGame2*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
#pragma warning(disable:4996)

char random_number[4];


void show_line(void)   //产生分界线
{
	int i;
	for (i = 0; i < 80; i++)
		putchar('=');
}

void creat(void)  //产生四位数
{
	srand((unsigned)time(NULL));
	for (int i = 0; i < 4; i++)
    {
		random_number[i] = '0' + rand() % 10;
		if (i == 0 && random_number[i] == '0') i--; //防止开头是0
    }
}

void warning(void)
{
	printf("Please enter 4 positive numbers.eg:1123,1234,9943.\n\n");
}

int judge(char s[4])     //判断是否是四位数
{
	int i;
	if (s[0] == '0')
		return 0;
	for (i = 0; i < 4; i++)
		if (s[i]<'0' || s[i]>'9')
			return 0;
	return 1;
}

int main(void)
{
	int JUDGE;
	char guessnumber[5];
	printf("Guess Number Game 2 [Version 0.6]\n"
		"Copyright <c> 2014  632 Technical Team. All Right Reserved.\n\n");
	show_line();
	printf("这是一个猜数字游戏,规则如下:\n"
           "系统将随机产生一个四位数,请您进行猜测,我们会将"
		   "您输入的数字进行匹配。\n");
	creat(); //产生四位数
	beg:
	printf("Please enter four integer numbers:\n");
	printf("依次输入四位数的每一位数\n");
	gets(guessnumber);
	JUDGE=judge(guessnumber);   //判断是否是四位数
	while (JUDGE == 1)
	{
		printf("The number you write is:\n");
		for (int i = 0; i < 4; i++)
			printf("%c", guessnumber[i]);
        printf("\n");
		int f = 0, cnt = 0;
		while (f < 4)
		{
			if (random_number[f] == guessnumber[f])
			{
				printf("第%d位等\n", f + 1);
				++cnt; //统计是否都是正确的
			}
			else
			{
				printf("第%d位不等\n", f + 1);
			}
			f++;
		}
		if (cnt == 4)
        {
            printf("你猜对啦~\n");
            goto ed;
        }
		show_line();
		printf("Please enter four integer numbers:\n");
		printf("依次输入四位数的每一位数例如:\n");
		gets(guessnumber);
		JUDGE=judge(guessnumber);
	}
	if (JUDGE==0)
    {
        warning();
        goto beg;
    }
    ed:
	return 0;
}


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