我正在使用SFML API在C ++中开发2D游戏,但我遇到了类设计的问题。 我认为我不遵守SRP(单一责任原则),因为我有一个叫做“游戏”的主类应该处理窗口。它包含一个包含主游戏循环的方法。 现在问题;它包含超过5个类的对象(组合),例如Player,Menu,SplashScreen。 你认为创造这样的“上帝”课是个好主意吗?你知道我可以学习的任何开源C ++ 2D游戏吗? 提前谢谢。
答案 0 :(得分:1)
在Gamedev网站上查看关于上帝课程的这个thread(是的,它们是一个坏主意,因为紧密耦合会使代码在变化时不那么健壮)。
不知道2D,但是整个GitHub repo有id-Software 3D游戏引擎。除了图形,这应该为您提供宝库。另请参阅Doom source code review,了解有关编写游戏的良好编码风格的想法。