用C語言完成猜數字小遊戲

2021-09-27 14:23:55 字數 1540 閱讀 1239

猜數字小遊戲是我人生中第一次寫的遊戲,通過這個遊戲初步理解到了c語言的趣味性以及簡單遊戲的基本框架,有點激動,廢話不多說先把**貼出來:

#define _crt_secure_no_warnings

#include

#include

#include

void

menu()

void

game()

if(input>randnumber)

if(input == randnumber)}}

intmain()

}while(1

);return0;

}

嘿嘿 不要太在意選單的問題啦我本人名字裡有浪這個字所以朋友都叫浪哥

廢話不多說我們來看這個程式。首先c語言遊戲基本都有乙個框架,這個遊戲在main函式裡的框架就是使用了乙個do-while語句來進行。這樣在遊戲結束完一次之後會立馬重新開始,快樂不止嘿嘿嘿。

在main函式之外將各個板塊用函式的形式寫了出來,比如開頭的menu函式,就是乙個基本的選單。其實這個選單也可以直接寫到主函式裡,但是寫成函式更加清楚明了而且美觀。

接下來就是本遊戲核心的game函式

if

(input < randnumber)

if(input>randnumber)

if(input == randnumber)

}}

對了,順便說一下,以上的game函式和menu函式都是不需要返回值的,所以直接用void定義,省力,美觀。

要想猜數字,首先得生成乙個隨機數字,這裡我們呼叫了rand函式,這是乙個可以生成隨機數的函式,我們在msdn或者cplusplus**上查閱會發現包含這個函式的標頭檔案是,那麼緊隨其後是什麼意義呢?

這裡需要注意,在c語言中呼叫庫函式生成隨機數其實並不是真正意義上的隨機,因為它每次產生的隨機數都是一樣的,那麼這個遊戲就毫無意義了,為了避免這個問題,我們就需要呼叫標頭檔案所包含的函式srand((unsigned int)time(null)),這個函式的目的是形成隨機數的種子數,是根據2023年起的windows時間戳來進行隨機了,把這個函式放在主函式裡,就保證了數字的隨機性。

需要注意的是srand函式引數的型別是unsigned int型,而time函式並不是,所以這裡我們需要把time(null)的值型別強轉為unsigned int型。

再多說一句,這個time函式後面的引數之所以是null,是因為time函式並不需要返回值。

接下來再看這個程式的主函式,開頭的do-while語句就是因為要保證遊戲結束後再來一遍再玩一遍啦,而在do-while語句內部使用了乙個switch語句,即當玩家輸入選單中的對應選項數字之後,就會進入相應的case來呼叫函式,開始遊戲或者退出遊戲盡在掌握。

總結一下這是我寫的第乙個遊戲,感受到了c語言的趣味性,有了小小的成就感,雖然自己寫的這個遊戲還有很多可以優化的地方,但是已經相當開心了,加油!希望以後可以寫出更棒的遊戲!

用c 完成猜數字遊戲

題目樣式 產生0到100之間的隨機數字可以用以下語句 random rdm new random int guess rdm.next 0,101 思路 先設乙個開關,是否要執行,是就輸入 1 否則的話輸入 0 然後根據這個隨機數字guess,使用者輸入的的值賦值給input,用do while語句...

C語言猜數字小遊戲

這個遊戲是由計算機產生乙個隨機數,使用者來猜數字。這就需要知道如何產生隨機數。rand函式可以的功能即生成一系列的隨機數,標頭檔案為stdlib.h 但是使用rand函式產生隨機數需要用時間種子srand,標頭檔案為time.h,這樣每次產生的隨機數才會不一樣,否則隨機數不會改變。include i...

C語言 完成猜數字遊戲

此題的解決思路為 定義乙個函式menu,每次玩遊戲時輸出menu 在main函式中利用do while迴圈以及switch語句選擇玩遊戲 定義乙個game函式,專門進行遊戲部分 此題需要注意的是 隨機生成數字的過程需要呼叫srand 隨機數的生成起點 srand裡面的引數為time。time 型別為...