1. 程式人生 > >完成猜數字遊戲 //C語言 猜數字遊戲(編寫過程詳解)

完成猜數字遊戲 //C語言 猜數字遊戲(編寫過程詳解)

	int i, j, k;
	int num = 0;

	/*生成隨機數字*/
	num = rand();
	printf("%d\n", num);

選擇玩遊戲還是退出

void play(int x)
{
	printf("%d\n", x);
	printf("開始遊戲");
}
scanf("%d", &k);

	switch (k)
	{
	case 1:
		play(num);
		
	case 2:
		break;
	}

迴圈玩遊戲程式

void play(int x)
{
	printf("%d\n", x);
	printf("開始遊戲");




	printf("遊戲結束");
}
int main()
{
	int i, j, k;
	int num = 0;

	/*生成隨機數字*/
	num = rand();
	printf("%d\n", num);
	
again:
	{
		scanf("%d", &k);
		switch (k)
		{
		case 1:
			play(num);
			goto again;
		case 2:
			break;
		}
	}
	

書寫玩遊戲內部程式

void play(int x)
{
	int number=0;
	printf("請輸入數字\n");
	
again_1:
	{
		scanf("%d", &number);
		while (number != x)
		{
			if (number > x)
			{
				printf("Big"); goto again_1;
			}
			else
			{
				printf("Small"); goto again_1;
			}
				
		}printf("Right\n請選擇\n\n");
	}
}

到這裡遊戲的整體框架編譯完成,可以正常執行。但是我們發現每一次的數字都是41(或者其他固定數字)

/*
***猜數字遊戲
*/


void play(int x)
{
	int number=0;
	printf("請輸入數字\n");
	
again_1:
	{
		scanf("%d", &number);
		while (number != x)
		{
			if (number > x)
			{
				printf("Big"); goto again_1;
			}
			else
			{
				printf("Small"); goto again_1;
			}
				
		}printf("Right\n請選擇\n\n");
	}
}


int main()
{
	int i, j, k;
	int num = 0;


	/*生成隨機數字*/
	num = rand();


again:
	{
		printf("開始遊戲\n1.開始\n2.退出\n");
		scanf("%d", &k);
		switch (k)
		{
		case 1:
			play(num);
			goto again;
		case 2:
			break;
		}
	}




	system("pause");
	return 0;
}

關於<time.h>標頭檔案

生成隨機數字

	/*生成隨機數字*/
	//num = rand();
	srand(time(NULL));
	num = rand() % 100

最後完成的程式

#define _CRT_SECURE_NO_WARNINGS 1 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/*
***猜數字遊戲
*/

void play(int x)
{
	int number=0;
	printf("請輸入數字\n");
	
again_1:
	{
		scanf("%d", &number);
		while (number != x)
		{
			if (number > x)
			{
				printf("Big\n"); goto again_1;
			}
			else
			{
				printf("Small\n"); goto again_1;
			}
				
		}printf("\n***Right***\n *********\n   ******\n   ****\n    **\n");
	}
}

int main()
{
	int k;
	int num = 0;

	/*生成隨機數字*/
	//num = rand();
	srand(time(NULL));
	num = rand() % 100;

	

again:
	{
		printf("開始遊戲\n1.開始\n2.退出\n");
		scanf("%d", &k);
		switch (k)
		{
		case 1:
			play(num);
			goto again;
		case 2:
			break;
		}
	}


	system("pause");
	return 0;
}


詳細介紹的關於隨機生成數字的解析

https://mp.csdn.net/postedit/79788815