C++學習之猜數字遊戲開發

各位,今天給大家帶來一個用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;
}

運行截圖

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章