Je suis curieux de savoir s'il existe une bonne stratégie pour gérer différents types de jeux dans un jeu qui se déroule sur la même boucle de jeu principale? En d'autres termes, j'ai un jeu avec trois types de jeu différents. Il existe seulement quelques différences mineures entre chaque type, de sorte qu'ils s'exécutent actuellement en utilisant la même boucle/classes. L'un est «combien de X pouvez-vous obtenir avant que le temps ne s'écoule», l'autre «combien de temps cela vous prend pour capturer 10 X», et le dernier est un type de jeu «pratique/temps infini». À l'heure actuelle, ma stratégie est d'exécuter un contrôle if, then, else sur toutes les parties du jeu et d'effectuer la logique appropriée pour chaque type de jeu.Game Design: gérer différents types de jeux?
if (gameType == INFINITE)
{...}
else if (gameType == TIMED)
{...}
else
{...}
Cela me semble terriblement mauvais, et aussi inefficace. Je ne veux pas embourber le CPU avec toutes ces vérifications inutiles quand il me semble que je pourrais faire cette vérification une fois et aller de l'avant. Je ne veux pas non plus copier-coller toutes mes classes pour ne faire que des changements mineurs dans chacune d'entre elles. Y at-il un bon moyen de le faire?
Oh garçon. Cela nécessiterait un refactoring majeur et majeur de mon code. – Clev3r
@Clever oui peut être un problème lol –
ah ... comment je manque vraiment une classe «vraiment» abstraite dans l'objectif-C. Cependant, je suis d'accord que ce serait la voie à suivre: un contrôleur abstrait qui a 3 (ou N) implémentations, et une usine pour instancier le approprié. Les protocoles le feraient aussi :) – YvesLeBorg