SFML API を使用して C++ で 2D ゲームを開発していますが、クラスの設計に問題があります。ウィンドウを処理する必要がある「ゲーム」というメイン クラスが 1 つあるため、SRP (Single Responsibility Principle) に違反していると思います。メイン ゲーム ループを含むメソッドが含まれています。今問題です。Player、Menu、SplashScreen など、5 つ以上のクラスのオブジェクト (コンポジション) が含まれています。そんな「神」クラスを作るのはいい考えだと思いますか?私が学べるオープンソースの C++ 2D ゲームを知っていますか? 前もって感謝します。
質問する
1288 次
1 に答える
1
God クラスについては、Gamedev サイトのこのスレッドを参照してください (そうです、密結合により変更に直面したときにコードの堅牢性が低下するため、それらは悪い考えです)。
2D については知りませんが、id-Software 3D ゲーム エンジンを含むGitHub リポジトリ全体があります。グラフィックとは別に、これはあなたに宝の山を提供するはずです. ゲームを書くための適切なコーディング スタイルのアイデアについては、Doom のソース コード レビューも参照してください。
于 2013-01-30T13:29:24.833 に答える