C語言詳解實現(xiàn)猜數(shù)字游戲步驟
前言
本文詳細介紹了猜數(shù)字游戲的具體實現(xiàn)邏輯
一、猜數(shù)字游戲是什么
1、電腦自動生成一個1-100以內(nèi)的數(shù)字
2、我們輸入一個我們猜的數(shù)字
3、如果我們猜的數(shù)字比電腦隨機生成的數(shù)字大,那么輸出(猜大了)
4、如果我們猜的數(shù)字比電腦隨機生成的數(shù)字小,那么輸出(猜小了)
5、如此循環(huán)往復,猜到正確的數(shù)字之后游戲結(jié)束
二、使用步驟
- 1.首先應(yīng)該打印菜單
代碼如下
void menu()
{
printf("*********************\n");
printf("***** 1. play *******\n");
printf("***** 0. exit *******\n");
printf("*********************\n");
}
int main()
{
menu();
printf("請選擇:>");
int input = 0;
while (input)
{
switch (input)
{
case 1:
printf("游戲開始");
game()//選擇開始游戲之后,進入我們玩游戲的一個邏輯
break;
case 0:
printf("退出游戲");
break;
default:
printf("輸入錯誤,請重新輸入!");
break;
}
}
return 0;
}選擇1,開始游戲
選擇0,游戲結(jié)束
- 2.打印我們的game()函數(shù)來實現(xiàn)我們的游戲具體邏輯
代碼如下:
void game()
{
int guess = 0;
int ret = rand() % 100 + 1;//限制我們得到的數(shù)字為1-100之間的數(shù)字
while (1)//因為猜數(shù)字是一個多次的過程,因此需要一個循壞來解決
{
printf("請輸入你猜的數(shù)字:>");
scanf("%d", &guess);
//將我們猜的數(shù)字與電腦隨機生的數(shù)字作對比
if (guess < ret)
{
//如果我們猜的數(shù)字比電腦的數(shù)字要小,輸出猜小了
printf("猜小了!\n");
}
else if (guess > ret)
{
//如果我們猜的數(shù)字比電腦的數(shù)字要大,輸出猜大了
printf("猜大了!\n");
}
else
{
//數(shù)字猜對了,輸出猜對了
printf("猜對了!\n");
break;
}
}
}注:
如果使用rand()函數(shù),必須先調(diào)用srand()函數(shù),再使用時間戳來形成一個隨機數(shù)字。
我們調(diào)用時間戳,因此需要包含頭文件#include<time.h>
【時間戳】的概念:一個能表示一份數(shù)據(jù)在某個特定時間之前已經(jīng)存在的、 完整的、 可驗證的數(shù)據(jù),通常是一個字符序列,唯一地標識某一刻的時間。
因此我們的main()函數(shù)部分就變成了如下代碼所示:
int main()
{
menu();
printf("請選擇:>");
int input = 0;
int n = 0;
scanf("%d", &input);
srand((unsigned int)time(NULL));
//使用srand函數(shù),接著使用時間戳,形成一個無符號整數(shù)
//我們調(diào)用時間戳,因此需要包含頭文件#include<time.h>
while (input)
{
switch (input)
{
case 1:
game();//猜數(shù)字游戲的的邏輯
break;
case 0:
printf("退出游戲");
break;
default:
printf("輸入錯誤,請重新輸入!");
break;
}
}
return 0;
}總結(jié)
本文的重點是對于時間戳的理解,以及猜數(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("請輸入你猜的數(shù)字:>");
scanf("%d", &guess);
if (guess < ret)
{
printf("猜小了!\n");
}
else if (guess > ret)
{
printf("猜大了!\n");
}
else
{
printf("猜對了!\n");
break;
}
}
}
void menu()
{
printf("*********************\n");
printf("***** 1. play *******\n");
printf("***** 0. exit *******\n");
printf("*********************\n");
}
int main()
{
menu();
printf("請選擇:>");
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("輸入錯誤,請重新輸入!");
break;
}
}
return 0;
}到此這篇關(guān)于C語言詳解實現(xiàn)猜數(shù)字游戲步驟的文章就介紹到這了,更多相關(guān)C語言猜數(shù)字游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C/C++實現(xiàn)矩陣的轉(zhuǎn)置(示例代碼)
C/C++實現(xiàn)矩陣的轉(zhuǎn)置(示例代碼)需要的朋友可以過來參考下,希望對大家有所幫助2013-10-10
C++訪問std::variant類型數(shù)據(jù)的幾種方式小結(jié)
std::variant是?C++17中引入的一個新的類模板,提供了一種存儲不同類型的值的方式,本文主要介紹了C++訪問std::variant類型數(shù)據(jù)的幾種方式小結(jié),具有一定的參考價值,感興趣的可以了解一下2024-02-02

