怎么用C++编一个回合制魂类游戏???(第一版)

#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函数中,我们创建了一个玩家角色和一个敌人角色,并在一个循环中交替进行回合。在每个回合中,玩家角色和敌人角色轮流攻击对方,直到其中一个角色死亡。最后,我们输出胜利的一方。

喜欢就点个关注吧!!!

猜你喜欢

转载自blog.csdn.net/m0_69824302/article/details/133547785