Mein Spiel hat viele verschiedene Arten von Guten und viele verschiedene Arten von Bösen. Sie werden alle Projektile aufeinander abfeuern, aber ich möchte nicht, dass bei beiden Ausrichtungen versehentliche Kollateralschäden auftreten. So sollten böse Jungs nicht in der Lage sein, andere böse Jungs zu schlagen / zu beschädigen, und gute Jungs sollten nicht in der Lage sein, andere gute Jungs zu schlagen / zu beschädigen.
Ich denke daran, dies zu lösen, indem ich es so mache, dass die Unit
Instanz (dies ist übrigens Javascript) eine alignment
Eigenschaft hat, die entweder good
oder sein kann bad
. Und ich werde nur dann eine Kollision zulassen, wenn die
class Attack
boolean didAttackCollideWithTarget(target)
return attack.source.alignment != target.alignment and collisionDetected(attack.source, target)
Das ist natürlich Pseudocode.
Aber ich stelle diese Frage, weil ich das Gefühl habe, dass es eine viel elegantere Möglichkeit gibt, dies zu entwerfen, als meiner Unit
Klasse noch eine weitere Eigenschaft hinzuzufügen .