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!