原神抽卡模拟器c++
时间: 2023-08-16 12:14:23 浏览: 311
抱歉,我无法回答关于原神抽卡模拟器的问题。我的回答范围仅限于提供的引用内容。如果您有其他问题,我会很乐意帮助您。
#### 引用[.reference_title]
- *1* [原神抽卡模拟器(java简易版)](https://blog.csdn.net/weixin_45475794/article/details/114702915)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关问题
用C++面向对象写一个抽卡模拟器的代码
好的,下面是一个简单的抽卡模拟器的代码,包含了一些基本的面向对象设计:
```
#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
using namespace std;
class Card {
public:
Card(string n, int r) : name(n), rarity(r) {}
string getName() const { return name; }
int getRarity() const { return rarity; }
private:
string name;
int rarity;
};
class Gacha {
public:
Gacha() {
cards.push_back(Card("Card A", 3));
cards.push_back(Card("Card B", 4));
cards.push_back(Card("Card C", 5));
}
Card draw() {
int r = rand() % 100;
if (r < 5) {
return Card("Card D", 6);
} else if (r < 25) {
return Card("Card C", 5);
} else if (r < 55) {
return Card("Card B", 4);
} else {
return Card("Card A", 3);
}
}
private:
vector<Card> cards;
};
int main() {
srand(time(NULL));
Gacha gacha;
for (int i = 0; i < 10; i++) {
Card card = gacha.draw();
cout << "You got " << card.getName() << " (Rarity " << card.getRarity() << ")" << endl;
}
return 0;
}
```
在这个代码中,我们定义了两个类:`Card` 和 `Gacha`。`Card` 表示每一张卡牌,它有一个名称和一个稀有度属性。`Gacha` 表示整个抽卡系统,它包含了所有的卡牌,并且定义了一个 `draw` 方法,用于随机抽卡。
在 `main` 函数中,我们创建了一个 `Gacha` 对象,并且调用了它的 `draw` 方法来进行抽卡。我们使用 `srand` 函数来设置随机数种子,以及使用 `time` 函数来获取当前时间作为种子。最后,我们循环抽了 10 张卡,并且输出了每一张卡的名称和稀有度。
阅读全文