首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言實作:猜數字智力小遊戲完整教學

     編輯:關於C語言

C語言實作:猜數字智力小遊戲完整教學

猜數字遊戲是初學 C 語言時極佳的練習題目,能同時鍛鍊隨機數生成、迴圈控制、條件判斷與使用者互動等核心觀念。本文將帶你從零開始,逐步完成一個具備選單介面、隨機題目產生與猜測提示功能的完整小遊戲。

遊戲流程設計

程式啟動後先顯示歡迎選單,讓玩家選擇「開始遊戲」或「離開」。選擇開始後,系統會隨機產生一個 0 到 100 之間的整數作為答案。玩家反覆輸入猜測數字,程式會依據輸入值提示「猜大了」、「猜小了」或「猜對了」,猜中即結束當局並回到主選單。

核心程式碼解析

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

int main() {
    printf(" 歡迎使用猜數字遊戲! \n");
    printf("\n");
    printf("************************\n");
    printf("\n");
    printf("******** 1-<start ******\n");
    printf("******** 0-<exit *******\n");
    printf("\n");
    printf("************************\n");
    
    int input = 1;
    while (input) {
        printf("請選擇->:");
        scanf("%d", &input);
        switch (input) {
            case 1: {
                int n;          // 正確答案
                int m;          // 玩家猜測值
                srand((unsigned int)time(NULL));  // 以目前時間為種子
                n = rand() % 101;                 // 產生 0~100 隨機數
                
                while (1) {
                    printf("請輸入一個0-100之間的數:");
                    scanf("%d", &m);
                    if (m > n) {
                        printf("你猜大了!\n");
                    } else if (m < n) {
                        printf("你猜小了!\n");
                    } else {
                        printf("你猜對了!\n");
                        break;  // 猜中跳出內層迴圈
                    }
                }
                break;
            }
            default: {
                printf("遊戲退出!\n");
                break;
            }
        }
    }
    system("pause");
    return 0;
}

關鍵技術點說明

  • 隨機數種子:srand((unsigned int)time(NULL)) 確保每次執行產生不同序列,避免固定答案。
  • 範圍限制:rand() % 101 取餘數將隨機數壓縮至 0~100 區間。
  • 雙層迴圈結構:外層 while(input) 控制主選單重複顯示;內層 while(1) 持續接收猜測直到答對為止。
  • 輸入緩衝處理:使用 scanf 讀取整數,實務上建議搭配緩衝區清理以防非數字輸入導致死循環。

進階擴充建議

若想讓遊戲更豐富,可嘗試加入以下功能:

  1. 猜測次數統計:記錄並顯示玩家猜中所需次數,增加挑戰性。
  2. 難度選單:提供「簡單(0~50)」、「普通(0~100)」、「困難(0~200)」等範圍選項。
  3. 最高分紀錄:結合檔案 I/O 將最少猜測次數寫入檔案,下次啟動時讀取顯示。
  4. 輸入驗證:檢查輸入是否為數字、是否在有效範圍內,避免程式異常終止。

透過這個小專案,你將熟悉 C 語言的標準庫函式、控制結構與使用者介面設計基礎,為後續更複雜的專案打下堅實基礎。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved