C語言實現猜數字小遊戲的示例代碼

一、猜數字小遊戲的要求

猜數字小遊戲是我們小時候喜歡我們一個經典小遊戲,在本文中,猜數字小遊戲主要的功能如下所示

1.登入猜數字小遊戲系統,顯示小時歡迎界面。

2.用戶猜的數字有系統隨機在1-20之間生成。

3.用戶可以有5次機會猜這個隨機生成的數字。

4.若用戶猜大瞭,則系統會顯示猜大瞭,並提示還有多少猜數字的機會。

5.若5次都沒有猜中系統隨機生成的數字,則遊戲結束。

二、猜數字小遊戲實現的過程

2.1項目創建

使用VS2019創建一個名為GuessNumber的C語言項目,並在GuessNumber項目中創建Main.c源文件和Main.h頭文件。

2.2頭文件內容

在Main.h頭文件中,將有關的頭文件包含進來,如下所示

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

在聲明兩個函數,如下所示

// 顯示菜單
void menu();

// 猜數字遊戲功能
void gameGuess();

其中,menu函數的功能是顯示猜數字小遊戲的初始化界面,並提供猜數字小遊戲的相關說明。gameGuess函數的功能是整個猜數字遊戲的核心,在gameGuess中主要是實現用戶猜數字的功能,並且給用戶提供友好的提示功能。

2.3源文件內容

首先將頭文件包含進來

#define _CRT_SECURE_NO_WARNINGS

#include "Main.h"

其中#define _CRT_SECURE_NO_WARNINGS是為瞭使編譯器沒有警告。

main函數中添加代碼如下

	system("color 3E");

	int select = 0;

	//防止出現的隨機數一樣
	srand((unsigned int)time(NULL));

	//利用循環實現可以多次玩
	do
	{
		menu();

		printf("請輸入選項:");
		scanf("%d", &select);

		switch (select)
		{
		case 1:
			gameGuess();
			break;
		case 0:
			break;
		default:
			printf("選擇錯誤\n");
			system("pause");
			system("cls");
			break;
		}

	} while (select);

	printf("歡迎下次使用,再見!!!\n");

	system("pause");
	return 0;

首先定義select 變量,根據用戶輸入的值,給變量select 賦值,從而進入相應的函數,進而實現相關的功能。

srand是為瞭防止出現的隨機數一樣。

根據輸入的select值,進入switch 分支語句進行判斷。

menu函數如下

// 顯示菜單
void menu()
{
	printf("**********************************************************\n");
	printf("*			歡迎來到猜數字小遊戲\n");
	printf("*			規則說明\n");
	printf("*			猜的數字為1-20\n");
	printf("*			共有5次機會\n");
	printf("*			歡迎猜中數字哦!!!\n\n");

	printf("*			1.開始遊戲\n");
	printf("*			0.退出遊戲\n");
	printf("**********************************************************\n\n");
}

其主要的功能是顯示系統的菜單功能,給用戶提示猜數字小遊戲應該如何進行。

gameGuess函數如下

//猜數字遊戲功能函數
void gameGuess()
{
	int num = 0, input = 0, count = 0;

	num = rand() % 20 + 1;//獲取1-100的一個隨機數

	while (count != 5)//利用if循環判斷
	{
		printf("請輸入數字:");
		scanf("%d", &input);

		if (input == num)
		{
			printf("恭喜啦,你猜的數字是對的!!!\n");
			break;
		}
		else if (input < num)
		{
			printf("你猜小瞭\n");
		}
		else
		{
			printf("你猜大瞭\n");
		}

		count++;
		if (count == 5)
		{
			printf("很遺憾,5次機會用完瞭,你沒有猜對!!!\n\n");
			printf("正確答案是:%d\n", num);
			break;
		}
		printf("你還有:%d次機會\n\n", 5 - count);
	}

	system("pause");
	system("cls");
}

使用系統庫函數rand隨機生成一個1-20的數字,賦值給變量num ,然後根據輸入的變量input值是否相等使用 == 進行判斷。

count主要用於判斷用戶還有多少次猜數字的機會。

三、猜數字小遊戲調試結果如下

1.進入系統,輸入數字1

2.猜對的調試結果

3.沒有猜對的調試結果

四、基於猜數字小遊戲的總結

本文的猜數字小遊戲讓我們對於C語言的入門可以得到有效的提高,對於srand函數、rand函數,Switch語句、while循環、if條件判據等C語言知識點可以進一步的掌握。

五、完整代碼

Main.h頭文件

#pragma once

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

// 顯示菜單
void menu();

// 猜數字遊戲功能
void gameGuess();

Main.c源文件

#define _CRT_SECURE_NO_WARNINGS

#include "Main.h"

int main()
{
	system("color 3E");

	int select = 0;

	//防止出現的隨機數一樣
	srand((unsigned int)time(NULL));

	//利用循環實現可以多次玩
	do
	{
		menu();

		printf("請輸入選項:");
		scanf("%d", &select);

		switch (select)
		{
		case 1:
			gameGuess();
			break;
		case 0:
			break;
		default:
			printf("選擇錯誤\n");
			system("pause");
			system("cls");
			break;
		}

	} while (select);

	printf("歡迎下次使用,再見!!!\n");

	system("pause");
	return 0;
}

// 顯示菜單
void menu()
{
	printf("**********************************************************\n");
	printf("*			歡迎來到猜數字小遊戲\n");
	printf("*			規則說明\n");
	printf("*			猜的數字為1-20\n");
	printf("*			共有5次機會\n");
	printf("*			歡迎猜中數字哦!!!\n\n");

	printf("*			1.開始遊戲\n");
	printf("*			0.退出遊戲\n");
	printf("**********************************************************\n\n");
}

//猜數字遊戲功能函數
void gameGuess()
{
	int num = 0, input = 0, count = 0;

	num = rand() % 20 + 1;//獲取1-100的一個隨機數

	while (count != 5)//利用if循環判斷
	{
		printf("請輸入數字:");
		scanf("%d", &input);

		if (input == num)
		{
			printf("恭喜啦,你猜的數字是對的!!!\n");
			break;
		}
		else if (input < num)
		{
			printf("你猜小瞭\n");
		}
		else
		{
			printf("你猜大瞭\n");
		}

		count++;
		if (count == 5)
		{
			printf("很遺憾,5次機會用完瞭,你沒有猜對!!!\n\n");
			printf("正確答案是:%d\n", num);
			break;
		}
		printf("你還有:%d次機會\n\n", 5 - count);
	}

	system("pause");
	system("cls");
}

到此這篇關於C語言實現猜數字小遊戲的示例代碼的文章就介紹到這瞭,更多相關C語言猜數字內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: