Je fais un jeu 2D descendant et je veux avoir beaucoup de types d'attaque différents. Je voudrais rendre les attaques très flexibles et combinables comme le fonctionne The Binding of Isaac. Voici une liste de tous les objets de collection du jeu . Pour trouver un bon exemple, regardons l' élément Spoon Bender .
Spoon Bender donne à Isaac la possibilité de tirer des larmes à tête chercheuse.
Si vous regardez la section "synergies", vous verrez qu'elle peut être combinée avec d'autres objets de collection pour des effets intéressants mais intuitifs. Par exemple, s'il se combine avec The Inner Eye , il "permettra à Isaac de tirer plusieurs coups de repérage à la fois". Cela a du sens, car The Inner Eye
Donne à Isaac un triple coup
Quelle est une bonne architecture pour concevoir des choses comme ça? Voici une solution de force brute:
if not spoon bender and not the inner eye then ...
if spoon bender and not the inner eye then ...
if not spoon bender and the inner eye then ...
if spoon bender and the inner eye then ...
Mais cela deviendra incontrôlable très rapidement. Quelle est la meilleure façon de concevoir un système comme celui-ci?