เกมของฉันมีคนดีหลายประเภทและผู้ชายเลวหลายประเภท พวกเขาทั้งหมดจะทำการยิงขีปนาวุธใส่กัน แต่ฉันไม่ต้องการให้เกิดความเสียหายจากหลักประกันใด ๆ ที่เกิดขึ้นสำหรับการจัดเรียงอย่างใดอย่างหนึ่ง ดังนั้นคนเลวจึงไม่สามารถตี / ทำลายคนเลวคนอื่นและคนดีไม่ควรที่จะตี / ทำความเสียหายคนดีคนอื่น
วิธีที่ฉันคิดว่าการแก้ปัญหานี้คือการทำให้มันเพื่อให้Unit
อินสแตนซ์ (นี่คือ javascript, BTW) มีalignment
คุณสมบัติที่สามารถเป็นได้ทั้งหรือgood
bad
และฉันจะปล่อยให้การปะทะเกิดขึ้นถ้า
class Attack
boolean didAttackCollideWithTarget(target)
return attack.source.alignment != target.alignment and collisionDetected(attack.source, target)
นี่คือรหัสหลอกแน่นอน
แต่ฉันถามคำถามนี้เพราะฉันเข้าใจว่าอาจมีวิธีที่สง่างามกว่านี้ในการออกแบบนอกเหนือจากการเพิ่มคุณสมบัติอื่นให้กับUnit
ชั้นเรียน ของฉัน