这种极其简单的攻击游戏(对我来说)的主要价值是用简单的多态性,以自己熟悉实现健康,并用指针来练习。有了这个说法,我很想加入它。看看我的程序,我不确定如果我应该创建一个单独的“英雄”类,并且只从“角色”类继承,或者我应该假设英雄是“角色”类,敌人从中继承。我现在想要做的唯一事情就是实施一些攻击后英雄的健康状况下降。对不起,如果它非常简单,我只是想把基础知识放下来。需要帮助的基本C++攻击游戏
谢谢。
#include <iostream>
#include "Character.h"
using namespace std;
int main() {
Ninja n;
Dragon d;
Character *enemy1 = &n;
Character *enemy2 = &d;
enemy1->setAttackPower(20);
enemy2->setAttackPower(40);
n.attack();
d.attack();
return 0;
}
//Character.h
#include <iostream>
using namespace std;
class Character
{
protected:
int Health = 100;
int attackpower;
public:
void setAttackPower(int attack) {
attackpower = attack;
}
};
class Ninja: public Character
{
public:
void attack() {
cout << "Ninja attacks your character! - " << attackpower << " Points!" << endl;
}
};
class Dragon: public Character
{
public:
void attack() {
cout << "Dragon attacks your character! - " << attackpower << " Points!" << endl;
}
};
有什么问题吗? :) – maditya
我注意到你的基类不包括虚拟的“攻击”的方法。你真的应该添加它,并有可能使其成为纯粹的虚拟如果所有的类都需要实现它为您的游戏才能正常工作。否则,多态性在哪里? :) –
这是prolly更适合于[代码审查(http://codereview.stackexchange.com) – aaronman