各位,今天給大家帶來一個用C++寫的猜數字遊戲,先簡單介紹一下,這個遊戲很簡單,就是程序設定一個數字,給你5次機會去猜測這個數字是多少,你可以使用大名鼎鼎的二分法,我覺得使用二分法屢試不爽,如果你工作或者學習累了,可以玩玩,當然此遊戲的代碼非常簡單,初學者拿這個試手挺好的。
通過隨機數生成設定數字
srand((unsigned)time(NULL)); //通過時間設置隨機數種子
j = rand() % maxrand; // 獲取隨機數
隨機數一定要記得設定種子,沒有種子的隨機數每次會發現每次生成的數字是一樣的。
這裏推薦一下我建的C/C++語言學習交流秋秋裙,前三位是:110,中間三位是:355,最後三位是:025,裏面有學習不錯視頻教程、開發工具、電子書籍,完整的項目源碼等,專業的老師解答問題!
完整代碼
其他代碼就很簡單了,都是些最最基礎的東西,這裏就不詳細介紹了,如果有疑問的地方,可以評論一下
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
void Start();
void GetResults();
int i, j, life, maxrand;
char c;
void Start() {
i = 0;
j = 0;
life = 0;
maxrand = 6;
cout << "選擇難度:\n"; /*用戶選擇關卡難易程度*/
cout << "1 : 容易 (0-15)\n";
cout << "2 : 簡單 (0-30)\n";
cout << "3 : 困難 (0-50)\n";
cout << "或者按下其他任意鍵退出\n";
c = 30;
cin >> c; //用戶選擇關卡
cout << "\n";
switch (c) {
case '1':
maxrand = 15; // 選擇關卡後,設置最大數
break;
case '2':
maxrand = 30;
break;
case '3':
maxrand = 50;
break;
default:
exit(0);
break;
}
life = 5; //玩家生命數
srand((unsigned)time(NULL)); //通過時間設置隨機數種子
j = rand() % maxrand; // 獲取隨機數
GetResults();
}
void GetResults() {
if (life <= 0) { //如果用戶沒有生命數了,遊戲失敗
cout << "你失敗了 !\n\n";
Start();
}
cout << "請猜測一個數字: \n";
cin >> i;
if((i>maxrand) || (i<0)) { // 用戶輸入錯誤數字,重啓遊戲
cout << "錯誤:你輸入的數字小於 0 或者大於關卡最大值 \n" << maxrand;
GetResults();
}
if(i == j) {
cout << "恭喜你,你贏了\n\n"; // 玩家找到了數字
Start();
} else if(i>j) {
cout << "輸入數字大於你要猜的數字\n";
life = life - 1;
cout << "你生命值還剩下: " << life << "\n\n";
GetResults();
} else if(i<j) {
cout << "輸入數字小於你要猜的數字\n";
life = life - 1;
cout << "你生命值還剩下: " << life << "\n\n";
GetResults();
}
}
int main() {
cout << "** 猜數字遊戲 **\n";
cout << "這個遊戲需要猜測一個數字.\n";
cout << "遊戲會提示你輸入的數字是大於或者小於要猜測的數字\n";
cout << "你在生命值還剩下的時候猜中數字,你就贏了.\n\n";
Start();
return 0;
}
運行截圖