编一个c++简易,而且带存档的冒险游戏
时间: 2024-05-01 19:19:11 浏览: 12
好的,以下是一个简单的C++冒险游戏示例代码,它带有存档功能:
```
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
// 玩家信息
struct Player {
string name;
int hp;
int gold;
};
// 存档信息
struct SaveData {
Player player;
int currentLevel;
};
// 初始化玩家信息
void initPlayer(Player& player) {
cout << "请输入玩家名字: ";
cin >> player.name;
player.hp = 100;
player.gold = 0;
}
// 保存游戏
void saveGame(const SaveData& data) {
ofstream file("save.dat", ios::binary);
file.write((char*)&data, sizeof(data));
cout << "游戏已保存!" << endl;
}
// 加载游戏
void loadGame(SaveData& data) {
ifstream file("save.dat", ios::binary);
if (!file) {
cout << "没有找到存档文件!" << endl;
return;
}
file.read((char*)&data, sizeof(data));
cout << "游戏已加载!" << endl;
}
// 进入下一关卡
void enterNextLevel(Player& player, int& currentLevel) {
player.hp += 20;
player.gold += 50;
currentLevel++;
cout << "恭喜进入下一关卡!" << endl;
}
// 显示玩家信息
void showPlayerInfo(const Player& player) {
cout << "玩家名字: " << player.name << endl;
cout << "生命值: " << player.hp << endl;
cout << "金币数量: " << player.gold << endl;
}
int main() {
Player player;
initPlayer(player);
SaveData saveData;
saveData.player = player;
saveData.currentLevel = 1;
saveGame(saveData);
char choice;
do {
cout << "1. 进入下一关卡" << endl;
cout << "2. 显示玩家信息" << endl;
cout << "3. 保存游戏" << endl;
cout << "4. 加载游戏" << endl;
cout << "5. 退出游戏" << endl;
cout << "请选择: ";
cin >> choice;
switch (choice) {
case '1':
enterNextLevel(player, saveData.currentLevel);
break;
case '2':
showPlayerInfo(player);
break;
case '3':
saveGame(saveData);
break;
case '4':
loadGame(saveData);
player = saveData.player;
break;
case '5':
cout << "再见!" << endl;
break;
default:
cout << "无效选择!" << endl;
break;
}
} while (choice != '5');
return 0;
}
```
这个简单的游戏只有一些基本功能,可以让你进入下一关卡,显示玩家信息,保存游戏,加载游戏和退出游戏。你可以根据需要添加更多的功能和关卡。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)