Ich mache ein Top-Down-2D-Spiel und möchte viele verschiedene Angriffsarten haben. Ich möchte die Angriffe sehr flexibel und kombinierbar machen, wie die Bindung von Isaac funktioniert. Hier ist eine Liste aller Sammlerstücke im Spiel . Um ein gutes Beispiel zu finden, schauen wir uns den Gegenstand Spoon Bender an .
Spoon Bender gibt Isaac die Möglichkeit, Tränen in die Augen zu schießen.
Wenn Sie sich den Abschnitt "Synergien" ansehen, werden Sie feststellen, dass er mit anderen Sammlerstücken kombiniert werden kann, um interessante und dennoch intuitive Effekte zu erzielen. Wenn es zum Beispiel mit The Inner Eye kombiniert wird , wird es "Isaac ermöglichen, mehrere Homing-Shots gleichzeitig abzufeuern". Das macht Sinn, weil das innere Auge
Gibt Isaac einen dreifachen Schuss
Was ist eine gute Architektur, um solche Dinge zu entwerfen? Hier ist eine Brute-Force-Lösung:
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 ...
Aber das wird sehr schnell außer Kontrolle geraten. Wie lässt sich ein solches System besser entwerfen?