1

我正在使用 SFML API 在 C++ 中开发 2D 游戏,但我遇到了类设计问题。我认为我违反了 SRP(单一责任原则),因为我有一个名为“游戏”的主类应该处理窗口。它包含一个包含主游戏循环的方法。现在的问题;它包含超过5个类的对象(组合),例如Player、Menu、SplashScreen。您认为创建这样的“上帝”类是一个好主意吗?你知道我可以从中学习的任何开源 C++ 2D 游戏吗?先感谢您。

4

1 回答 1

1

请参阅Gamedev 网站上有关上帝类的线程(是的,它们是一个坏主意,因为紧密耦合会使代码在面对变化时变得不那么健壮)。

不了解 2D,但有一个带有 id-Software 3D 游戏引擎的完整GitHub 存储库。除了图形,这应该为您提供一个宝库。另请参阅 Doom源代码审查,了解有关编写游戏的良好编码风格的想法。

于 2013-01-30T13:29:24.833 回答