Tworzę odgórną grę 2D i chcę mieć wiele różnych rodzajów ataków. Chciałbym, aby ataki były bardzo elastyczne i łączone tak, jak działa The Binding of Isaac. Oto lista wszystkich przedmiotów kolekcjonerskich w grze . Aby znaleźć dobry przykład, spójrzmy na przedmiot Spoon Bender .
Spoon Bender daje Izaakowi możliwość strzelania do łez naprowadzających.
Jeśli spojrzysz na sekcję „synergie”, zobaczysz, że można ją łączyć z innymi przedmiotami kolekcjonerskimi, aby uzyskać ciekawe, ale intuicyjne efekty. Na przykład, jeśli łączy się z Wewnętrznym okiem , „pozwoli Izaakowi na oddanie wielu strzałów naprowadzających jednocześnie”. Ma to sens, ponieważ Wewnętrzne oko
Daje Izaakowi potrójny strzał
Jaka jest dobra architektura do projektowania takich rzeczy? Oto rozwiązanie brutalnej siły:
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 ...
Ale to wymknie się spod kontroli bardzo szybko. Jaki jest lepszy sposób zaprojektowania takiego systemu?