Il mio gioco ha molti tipi diversi di bravi ragazzi e molti tipi diversi di cattivi. Tutti spareranno proiettili l'uno contro l'altro, ma non voglio che si verifichino danni collaterali accidentali per nessuno dei due allineamenti. Quindi i cattivi non dovrebbero essere in grado di colpire / danneggiare altri cattivi e i bravi ragazzi non dovrebbero essere in grado di colpire / danneggiare altri bravi ragazzi.
Il modo in cui sto pensando di risolverlo è farlo in modo che l' Unit
istanza (questo è JavaScript, BTW), abbia una alignment
proprietà che può essere good
o bad
. E lascerò che la collisione avvenga solo se il
class Attack
boolean didAttackCollideWithTarget(target)
return attack.source.alignment != target.alignment and collisionDetected(attack.source, target)
Questo è pseudo-codice, ovviamente.
Ma sto ponendo questa domanda perché ho la sensazione che potrebbe esserci un modo molto più elegante di progettarlo oltre ad aggiungere un'altra proprietà alla mia Unit
classe.