その解決法を用いて現在プログラミング練習用の格闘ゲームを製作しているのですが
その途中で疑問に感じた部分があるので教えてください
GameMain.cpp
void GameMain(){
switch(GameMainState){ //GameMainStateは状態遷移用の変数。列挙型です。
case SELECT: SelectMain(); break; //まずキャラやステージを選んでもらって、
case BATTLE: Battle(); break; //それから対戦開始
}
void SelectMain(){
CharSelect();
StageSelect();
}
void CharSelect(){
/*キャラクターを選択させる*/
CharRegister(CharFolder); //CharFolderは各キャラクターのデータの入ったフォルダーの情報です。
}
疑問に感じているのはキャラクターの登録の箇所です
このコードではキャラクター選択関数の中からキャラ登録を呼び出していますが
コーディング中に下記の2つの設計案も思いつきました
・キャラクター選択関数から戻り値としてGameMainにフォルダー情報を返してGameMainからBattleにフォルダー情報を渡す
・キャラクター選択関数をCharMgr.cppに置く
新たな2つの設計案が思い浮かんでからどの方法が一番いいのか気になってもやもやしてコーディングどころではなくなってしまいました
そこでお聞きしたいのですがこの中で一番汎用性のある設計はどれでしょうか?この他にあればそちらを教えていただきたいです
ぜひ御回答よろしくお願いします