我应该有 2 个单独的班级,一个用于"logic",一个用于"graphic interface"?
Should I have 2 separated classes, one for the "logic" and one for the "graphic interface"?
我正在开发一些东西来训练自己C++和框架Qt。
我有几个类,例如:怪物,武器,物品等... 游戏的基本用例如下:在一系列怪物中选择一个怪物进行战斗,或者在一系列武器中购买武器。
所以我需要显示这些东西,所以我为每个类创建了一个 Widget 类:MonsterWidget、WeaponWidget 等。
MonsterWidget.h
class MonsterWidget : public QWidget{
QLabel healthPoint;
QLabel baseDamage;
Monster monster;
void updateLabelsFromMonsterObject;
}
怪物.h
class Monster{
int healthPoint;
int baseDamage;
bool isAlive();
void attack();
...
}
我想我也可以这样做:
怪物事实
class MonsterWidget : public QWidget{
QLabel healthPoint;
QLabel baseDamage;
int healthPoint;
int baseDamage;
void updateLabelsFromValues();
bool isAlive();
void attack();
...
}
但是因为我没有很多经验,我不知道在我的情况下什么是最好的,如果我应该有 2 个单独的类,一个用于"逻辑",一个用于"图形界面",或者我应该合并它们?
谢谢:)
您应该阅读有关设计模式的信息。 在您的情况下,请尝试使用 MVC 模式。 并将逻辑与视图分开。
相关文章:
- 如何巧妙地编写两个函数——一个用于检查是否存在解决方案,另一个用于获取所有解决方案
- 我如何创建一个列表,然后从中创建两个列表,其中一个用于偶数,另一个用于奇数?
- C++设置了一个用于排序的比较器和另一个用于唯一性的比较器
- 我应该有 2 个单独的班级,一个用于"logic",一个用于"graphic interface"?
- 为什么T是未定义的?我正在尝试实现一个用于双链表的节点类,它不喜欢我使用友元运算符后的T
- 如何使用 Turbo C++并行运行两个功能,一个用于键盘,一个用于鼠标?
- C++构造函数,一个用于度,一个用于弧度
- 维护/维持两个代码集的风险,一个用于 CPU,一个用于 GPU,需要执行非常相似的功能
- C 两个线程一个用于输入,一个用于输出
- 一个用于保存模板专业参数的结构
- 实现了一个用于rsa加密的bignum库
- 编译三个文件以创建一个用于平均值的程序(取消注释?)
- 创建一个用于使用多个数据库的c++文件
- 一个用于操作字符串以在vba中使用的c++dll
- 调用一个用于内存分配的方法c++
- 一个用于处理字符* 和 wchar_t* 的函数
- 如何在 OSX 上创建一个用于C++的窗口
- 寻找一个用于信号处理的良好的C/C++小波库
- 在QT中,是否有一个用于double、float、int等的动态数组.即QDoubleArray
- 对于 C++11,我是否仍然需要一个用于 Unicode 文本的非标准字符串操作库