C語(yǔ)言詳解實(shí)現(xiàn)猜數(shù)字游戲步驟
前言
本文詳細(xì)介紹了猜數(shù)字游戲的具體實(shí)現(xiàn)邏輯
一、猜數(shù)字游戲是什么
1、電腦自動(dòng)生成一個(gè)1-100以?xún)?nèi)的數(shù)字
2、我們輸入一個(gè)我們猜的數(shù)字
3、如果我們猜的數(shù)字比電腦隨機(jī)生成的數(shù)字大,那么輸出(猜大了)
4、如果我們猜的數(shù)字比電腦隨機(jī)生成的數(shù)字小,那么輸出(猜小了)
5、如此循環(huán)往復(fù),猜到正確的數(shù)字之后游戲結(jié)束
二、使用步驟
- 1.首先應(yīng)該打印菜單
代碼如下
void menu() { printf("*********************\n"); printf("***** 1. play *******\n"); printf("***** 0. exit *******\n"); printf("*********************\n"); } int main() { menu(); printf("請(qǐng)選擇:>"); int input = 0; while (input) { switch (input) { case 1: printf("游戲開(kāi)始"); game()//選擇開(kāi)始游戲之后,進(jìn)入我們玩游戲的一個(gè)邏輯 break; case 0: printf("退出游戲"); break; default: printf("輸入錯(cuò)誤,請(qǐng)重新輸入!"); break; } } return 0; }
選擇1,開(kāi)始游戲
選擇0,游戲結(jié)束
- 2.打印我們的game()函數(shù)來(lái)實(shí)現(xiàn)我們的游戲具體邏輯
代碼如下:
void game() { int guess = 0; int ret = rand() % 100 + 1;//限制我們得到的數(shù)字為1-100之間的數(shù)字 while (1)//因?yàn)椴聰?shù)字是一個(gè)多次的過(guò)程,因此需要一個(gè)循壞來(lái)解決 { printf("請(qǐng)輸入你猜的數(shù)字:>"); scanf("%d", &guess); //將我們猜的數(shù)字與電腦隨機(jī)生的數(shù)字作對(duì)比 if (guess < ret) { //如果我們猜的數(shù)字比電腦的數(shù)字要小,輸出猜小了 printf("猜小了!\n"); } else if (guess > ret) { //如果我們猜的數(shù)字比電腦的數(shù)字要大,輸出猜大了 printf("猜大了!\n"); } else { //數(shù)字猜對(duì)了,輸出猜對(duì)了 printf("猜對(duì)了!\n"); break; } } }
注:
如果使用rand()函數(shù),必須先調(diào)用srand()函數(shù),再使用時(shí)間戳來(lái)形成一個(gè)隨機(jī)數(shù)字。
我們調(diào)用時(shí)間戳,因此需要包含頭文件#include<time.h>
【時(shí)間戳】的概念:一個(gè)能表示一份數(shù)據(jù)在某個(gè)特定時(shí)間之前已經(jīng)存在的、 完整的、 可驗(yàn)證的數(shù)據(jù),通常是一個(gè)字符序列,唯一地標(biāo)識(shí)某一刻的時(shí)間。
因此我們的main()函數(shù)部分就變成了如下代碼所示:
int main() { menu(); printf("請(qǐng)選擇:>"); int input = 0; int n = 0; scanf("%d", &input); srand((unsigned int)time(NULL)); //使用srand函數(shù),接著使用時(shí)間戳,形成一個(gè)無(wú)符號(hào)整數(shù) //我們調(diào)用時(shí)間戳,因此需要包含頭文件#include<time.h> while (input) { switch (input) { case 1: game();//猜數(shù)字游戲的的邏輯 break; case 0: printf("退出游戲"); break; default: printf("輸入錯(cuò)誤,請(qǐng)重新輸入!"); break; } } return 0; }
總結(jié)
本文的重點(diǎn)是對(duì)于時(shí)間戳的理解,以及猜數(shù)字游戲的邏輯
下面是【猜數(shù)字游戲】的全部代碼
猜數(shù)字游戲1-100 #include<stdio.h> #include<time.h> #include<stdlib.h> void game() { int guess = 0; int ret = rand() % 100 + 1;//限制我們得到的數(shù)字為1-100之間的數(shù)字 //printf("%d",ret); while (1) { printf("請(qǐng)輸入你猜的數(shù)字:>"); scanf("%d", &guess); if (guess < ret) { printf("猜小了!\n"); } else if (guess > ret) { printf("猜大了!\n"); } else { printf("猜對(duì)了!\n"); break; } } } void menu() { printf("*********************\n"); printf("***** 1. play *******\n"); printf("***** 0. exit *******\n"); printf("*********************\n"); } int main() { menu(); printf("請(qǐng)選擇:>"); int input = 0; int n = 0; scanf("%d", &input); srand((unsigned int)time(NULL)); while (input) { switch (input) { case 1: game();//猜數(shù)字的邏輯 break; case 0: printf("退出游戲"); break; default: printf("輸入錯(cuò)誤,請(qǐng)重新輸入!"); break; } } return 0; }
到此這篇關(guān)于C語(yǔ)言詳解實(shí)現(xiàn)猜數(shù)字游戲步驟的文章就介紹到這了,更多相關(guān)C語(yǔ)言猜數(shù)字游戲內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- c語(yǔ)言輕松實(shí)現(xiàn)猜數(shù)字小游戲
- C語(yǔ)言從猜數(shù)字游戲中理解數(shù)據(jù)結(jié)構(gòu)
- 詳解C語(yǔ)言實(shí)現(xiàn)猜數(shù)字游戲
- C語(yǔ)言代碼實(shí)現(xiàn)猜數(shù)字游戲
- C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的猜數(shù)字游戲
- C語(yǔ)言實(shí)現(xiàn)猜數(shù)字游戲的兩種方法
- C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單猜數(shù)字小游戲
- C語(yǔ)言實(shí)現(xiàn)猜數(shù)字小游戲
- C語(yǔ)言超詳細(xì)講解猜數(shù)字游戲的實(shí)現(xiàn)
相關(guān)文章
C++ 學(xué)習(xí)之旅二 說(shuō)一說(shuō)C++頭文件
作為一個(gè)二手的.net程序員,你看到了C++頭文件一定就犯迷糊了,這到底是個(gè)啥玩意。再我糾結(jié)了24個(gè)小時(shí), google20次,度娘10下,看過(guò)10來(lái)騙文章以后,我可能稍微開(kāi)竅了。我對(duì)C++頭文件總結(jié),與.net比較如下2012-11-11Linux C 獲取進(jìn)程退出值的實(shí)現(xiàn)代碼
本篇文章是對(duì)在Linux下使用c語(yǔ)言獲取進(jìn)程退出值的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C/C++實(shí)現(xiàn)矩陣的轉(zhuǎn)置(示例代碼)
C/C++實(shí)現(xiàn)矩陣的轉(zhuǎn)置(示例代碼)需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-10-10C++中對(duì)C語(yǔ)言結(jié)構(gòu)體用法的擴(kuò)充
今天小編就為大家分享一篇關(guān)于C++中對(duì)C語(yǔ)言結(jié)構(gòu)體用法的擴(kuò)充,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12C++訪問(wèn)std::variant類(lèi)型數(shù)據(jù)的幾種方式小結(jié)
std::variant是?C++17中引入的一個(gè)新的類(lèi)模板,提供了一種存儲(chǔ)不同類(lèi)型的值的方式,本文主要介紹了C++訪問(wèn)std::variant類(lèi)型數(shù)據(jù)的幾種方式小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02