#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class Character {
private:
string name;
int health;
int attack;
public:
Character(string n, int h, int a) {
name = n;
health = h;
attack = a;
}
void attackEnemy(Character& enemy) {
int damage = attack;
enemy.takeDamage(damage);
cout << name << "对" << enemy.getName() << "造成了" << damage << "点伤害!" << endl;
}
void takeDamage(int damage) {
health -= damage;
if (health < 0) {
health = 0;
}
}
bool isDead() {
return health <= 0;
}
string getName() {
return name;
}
};
int main() {
srand(time(0));
Character player("玩家", 100, 20);
Character enemy("敌人", 80, 15);
bool playerTurn = true;
while (!player.isDead() && !enemy.isDead()) {
if (playerTurn) {
cout << "玩家回合:" << endl;
player.attackEnemy(enemy);
} else {
cout << "敌人回合:" << endl;
enemy.attackEnemy(player);
}
playerTurn = !playerTurn;
cout << "-------------------------" << endl;
}
if (player.isDead()) {
cout << player.getName() << "被击败了!" << endl;
} else {
cout << enemy.getName() << "被击败了!" << endl;
}
return 0;
}
这个示例中,我们创建了一个Character
类来表示游戏中的角色,每个角色有一个名称、生命值和攻击力。在attackEnemy
函数中,一个角色可以攻击另一个角色,并造成一定的伤害。takeDamage
函数用于减少角色的生命值,isDead
函数用于判断角色是否死亡。
在main
函数中,我们创建了一个玩家角色和一个敌人角色,并在一个循环中交替进行回合。在每个回合中,玩家角色和敌人角色轮流攻击对方,直到其中一个角色死亡。最后,我们输出胜利的一方。
喜欢就点个关注吧!!!