Estoy haciendo un juego 2D de arriba hacia abajo y quiero tener muchos tipos de ataque diferentes. Me gustaría hacer que los ataques sean muy flexibles y combinables como funciona The Binding of Isaac. Aquí hay una lista de todos los coleccionables del juego . Para encontrar un buen ejemplo, echemos un vistazo al artículo de Spoon Bender .
Spoon Bender le da a Isaac la capacidad de disparar lágrimas de referencia.
Si observa la sección "sinergias", verá que se puede combinar con otros objetos coleccionables para obtener efectos interesantes pero intuitivos. Por ejemplo, si se combina con The Inner Eye , "le permitirá a Isaac disparar múltiples tiros de referencia al mismo tiempo". Esto tiene sentido, porque el ojo interno
Le da a Isaac un triple disparo
¿Qué es una buena arquitectura para diseñar cosas como esta? Aquí hay una solución de fuerza bruta:
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 ...
Pero eso se saldrá de control muy rápido. ¿Cuál es una mejor manera de diseñar un sistema como este?