我正在做一个项目,我必须对像 ZORK 这样的基于文本的游戏进行 GUI 化。该项目的目标是学习C++和事件驱动编程,游戏好坏并不重要。我们已经得到了游戏代码的骨架。
所以我有一个 UI 类 GameWindow 和一个包含游戏逻辑的类。我希望游戏逻辑类从类中向 UI 写入一些文本。让 UI 公开并传递 UI 对象以直接访问屏幕上的标签是一种好的设计(这不会破坏封装吗?):
ui->welcomeText->setText("Welcome to the land of the text adventure!");
或者,为私有 UI 对象提供大量 getter 和 setter 是否更好,您可以在其中获取 gamewindow 类的对象,然后说:
gamewindow.setWelcomeText("Welcome to the land of the text adventure!");
我对 C++ 和设计阶段真的很陌生,我不想早早搞砸并为自己创造更多的工作。对此的一些指导将不胜感激。