簡單的猜數字游戲(C語言)


猜數字游戲

1.系統分析

在本游戲中,電腦會給出1~100之間的一個隨機數,玩家通過鍵盤輸入猜測的數字,電腦會判斷輸入的數字是否為生成的隨機數,並做出相應的提示(猜大了,猜小了,答對了)。

2.概要設計

此系統可分為以下幾個功能模塊:菜單模塊;隨機數生成模塊;判斷及提示模塊;主函數模塊。

3.詳細設計

3.1 菜單模塊

void menu()
{
    printf("********************\n");
    printf("** 1.play  0.exit **\n");
    printf("********************\n");
}

 

3.2 隨機數生成模塊

ret=rand()%100+1;//生成1~100之間的隨機數
srand((unsigned int)time(NULL));//拿時間戳來設置隨機數的生成起始點

3.3 判斷及提示模塊

while(1)
    {
        printf("請猜數字:");
        scanf("%d",&guess);
        if(guess>ret)
            printf("猜大了\n");
        else if(guess<ret)
            printf("猜小了\n");
        else
        {
            printf("恭喜你,猜對了!\n");
            break;
        }
    }

3.4 主函數模塊

int main()
{
    int input;
    srand((unsigned int)time(NULL));//拿時間戳來設置隨機數的生成起始點
    do
    {
        menu();
        printf("請選擇:");
        scanf("%d",&input);
        switch(input)
        {
        case 1:
            game();
            break;
        case 0:
            printf("退出游戲\n");
            break;
        default:
            printf("選擇錯誤\n");
            break;
        }

    }
    while(input);
    return 0;
}

4.源程序代碼

#include<stdio.h>
#include<time.h>//time()
#include<stdlib.h>//rand();srand()

void menu()
{
    printf("********************\n");
    printf("** 1.play  0.exit **\n");
    printf("********************\n");
}

void game()
{
    int ret;
    int guess;
    ret=rand()%100+1;//生成1~100之間的隨機數
    while(1)
    {
        printf("請猜數字:");
        scanf("%d",&guess);
        if(guess>ret)
            printf("猜大了\n");
        else if(guess<ret)
            printf("猜小了\n");
        else
        {
            printf("恭喜你,猜對了!\n");
            break;
        }
    }
}

int main()
{
    int input;
    srand((unsigned int)time(NULL));//拿時間戳來設置隨機數的生成起始點
    do
    {
        menu();
        printf("請選擇:");
        scanf("%d",&input);
        switch(input)
        {
        case 1:
            game();
            break;
        case 0:
            printf("退出游戲\n");
            break;
        default:
            printf("選擇錯誤\n");
            break;
        }

    }
    while(input);
    return 0;
}

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM