有一个weapon类,一共有三种weapon,每次创建一个dragon ninja iceman的时候会根据其编号获得一个武器,在后面的战斗中,会使用武器攻击别人,武器可以使用两次,优先使用用过的武器,在每次战斗的时候要对武器编号从小到大排序,如何编写wepaon类c++
时间: 2024-02-18 22:05:12 浏览: 125
KC-Weapon-Mod:用于创建自定义武器的示例和辅助代码-
你可以这样编写Weapon类的C++代码:
```c++
class Weapon {
public:
enum WeaponType { Sword, Bomb, Arrow };
Weapon(WeaponType type, int strength);
WeaponType getType();
int getStrength();
void setStrength(int strength);
void useWeapon();
bool isUsed();
private:
WeaponType type_;
int strength_;
bool used_;
};
Weapon::Weapon(WeaponType type, int strength) {
type_ = type;
strength_ = strength;
used_ = false;
}
Weapon::WeaponType Weapon::getType() {
return type_;
}
int Weapon::getStrength() {
return strength_;
}
void Weapon::setStrength(int strength) {
strength_ = strength;
}
void Weapon::useWeapon() {
if (used_) {
return;
}
strength_ -= 1;
used_ = true;
}
bool Weapon::isUsed() {
return used_;
}
```
在这个代码中,Weapon类包含三种武器类型(Sword,Bomb,Arrow),每种武器有一个strength属性,表示武器的攻击力。Weapon类还有useWeapon()和isUsed()方法,用来表示武器是否被使用过。在每次使用武器后,Weapon类将其used_属性设置为true,表示已经使用过。如果武器已经使用过,则再次使用时不发生任何事情。
在你的应用程序中,你可以使用Weapon类创建三种不同类型的武器,并将它们分配给Dragon,Ninja和Iceman。你还可以使用std::sort()函数将这些武器按照编号从小到大排序。
阅读全文