同じメイン ゲーム ループから実行されるゲーム内でさまざまなゲーム タイプを処理するための優れた戦略があるかどうか知りたいです。つまり、3 つの異なるゲーム タイプのゲームがあります。各タイプにはわずかな違いしかないため、現在は同じループ/クラスを使用して実行されています。1つは「時間切れまでにXを何個取れるか」、もう1つは「Xを10個取るのにどれくらいかかるか」、そして最後は「練習/無限時間」のゲームタイプです。現時点での私の戦略は、if、then、else を実行して、ゲームのすべての差別化部分をチェックし、ゲームの種類ごとに適切なロジックを実行することです。
if (gameType == INFINITE)
{...}
else if (gameType == TIMED)
{...}
else
{...}
これは私にはひどく間違っているように思えますし、非効率的でもあります。このチェックを一度実行して先に進むことができると思われる場合に、これらすべての不要なチェックで CPU を停止させたくありません。また、すべてのクラスをコピーして貼り付けて、それぞれに小さな変更を加えるだけにしたくありません。これを行う良い方法はありますか?