我正在尝试制作战斗序列。现在我只是原型设计。
我想要做的是为一个类中的战斗序列定义一个函数,并初始化不同的怪物来对抗。我在.h文件中创建了一个名为'monster'的数据结构。然后我在课堂上初始化怪物老虎。但当我进入我的cpp发出声音和图片时,我遇到了错误。
我最终想做的是:
#include <iostream>
#include "CombatSeq.h"
int main() {
// Initiate Combat with a Tiger.
CombatSeq c;
c.fight(c.tiger);
}
这是我的代码:
.h文件:
#ifndef SOURCE2_COMBATSEQ_H_
#define SOURCE2_COMBATSEQ_H_
#include <iostream>
struct monster {
std::string sound;
std::string picture;
};
class CombatSeq {
public:
void fight(monster t);
monster tiger;
private:
};
#endif /* SOURCE2_COMBATSEQ_H_ */
cpp文件:
#include "CombatSeq.h"
#include <iostream>
void CombatSeq::fight (monster t) {
std::cout << t.picture;
std::cout << t.sound;
}
// What would I put here to give tiger.sound & tiger.picture values?
// I have tried:
monster CombatSeq::tiger;
CombatSeq::tiger.sound = "tiger.ogg";
// But to no avail.
感谢您的帮助!
答案 0 :(得分:0)
有很多方法可以做到这一点。构造函数可能是一个不错的选择。这会让你到达目的地,但是......
int main() {
// Initiate Combat with a Tiger.
CombatSeq c;
c.tiger.sound = "tiger.ogg";
c.tiger.picture = "tiger.jpg";
c.fight(c.tiger);
}
那就是说,拥有怪物类型成员的CombatSeq对我来说毫无意义。没有更多信息,很难推荐更好的方法。