ในเกม 2D ที่ฉันทำงานด้วยเอ็นจิ้นเกมสามารถให้ฉันสำหรับแต่ละหน่วยรายการของหน่วยอื่น ๆ ที่อยู่ในระยะการมองของมัน
ฉันอยากจะรู้ว่ามีอัลกอริทึมที่จัดตั้งขึ้นเพื่อเรียงลำดับหน่วยในกลุ่มที่แต่ละกลุ่มจะถูกกำหนดโดยหน่วยเหล่านั้นทั้งหมดที่ "เชื่อมต่อ" กับแต่ละอื่น ๆ (แม้จะผ่านคนอื่น ๆ )
ตัวอย่างอาจช่วยให้เข้าใจคำถามได้ดีขึ้น (E = ศัตรู, O = หน่วยของตัวเอง) ก่อนอื่นข้อมูลที่ฉันจะได้รับจากเอ็นจิ้นเกม:
E1 can see E2, E3, O5
E2 can see E1
E3 can see E1
E4 can see O5
E5 can see O2
E6 can see E7, O9, O1
E7 can see E6
O1 can see E6
O2 can see O5, E5
O5 can see E1, E4, O2
O9 can see E6
จากนั้นฉันควรคำนวณกลุ่มดังนี้
G1 = E1, E2, E3, E4, E5, O2, O5
G2 = O1, O9, E6, E7
มันสามารถสันนิษฐานได้อย่างปลอดภัยว่ามีคุณสมบัติสับเปลี่ยนสำหรับมุมมอง: [ถ้า A เห็น B ดังนั้น B จะเห็น A]
เพียงเพื่อชี้แจง: ฉันได้เขียนการใช้งานไร้เดียงสาที่ลูปในแต่ละแถวของข้อมูลเครื่องยนต์เกม แต่จากลักษณะของมันดูเหมือนว่าปัญหาทั่วไปพอที่จะได้รับการศึกษาในเชิงลึกและมีอัลกอริทึมที่จัดตั้งขึ้นต่างๆ ผ่านโครงสร้างคล้ายต้นไม้บ้างไหม) ปัญหาของฉันคือฉันไม่สามารถหาวิธีที่จะอธิบายปัญหาของฉันที่ส่งคืน google hits ที่มีประโยชน์
ขอบคุณล่วงหน้าสำหรับความช่วยเหลือของคุณ!