ฉันต้องการวิธีที่จะสร้างหน่วยที่แตกต่างกันมากมายโดยไม่ต้องเขียนโปรแกรมอะไรเช่น moveTo และ Attack มากกว่าหนึ่งครั้ง
วิธีที่ฉันเห็นมันมี 2 วิธีที่ฉันทำได้
- คลาสหน่วยทั่วไปเดียวที่มีแฟล็กที่ระบุสิ่งที่สามารถ / ไม่สามารถทำได้ (จากนั้นสร้างอินสแตนซ์ในอาร์เรย์แบบสแตติกและคว้าเมื่อจำเป็น)
- คลาสหน่วยนามธรรมพร้อมวิธีการแบบนามธรรมสำหรับการกระทำเฉพาะหน่วยเช่น (Attack, Harvest, Patrol) ซึ่งจำเป็นต้องนำไปใช้ในคลาสย่อยแม้ว่าหน่วยนั้นจะไม่สามารถเก็บเกี่ยวสิ่งใดได้
วิธีแรกในการทำสิ่งนี้ดูง่ายที่สุด แต่ฉันจะต้องมีรหัสจำนวนมากที่ไม่ได้ใช้สำหรับหน่วยงานส่วนใหญ่
วิธีที่สองสามารถใช้งานได้เช่นกัน แต่ถ้าฉันตัดสินใจที่จะมีสองหน่วยที่แตกต่างกันที่สามารถเก็บเกี่ยวทรัพยากรฉันจะมีรหัสเดียวกันแน่นอนในสองชั้นเรียนที่แตกต่างกันซึ่งดูเหมือนจะไม่ถูกวิธีที่จะทำ
นี่เป็นแนวทางที่ถูกต้องสำหรับปัญหานี้หรือไม่?
ในเกมอย่าง AoE ทุกหน่วยมีสิ่งที่ฉันเข้าใจคือ List of Actions / Orders บางอย่างฉันอยากรู้วิธีทำให้บางอย่างคล้ายกับสิ่งนั้นโดยที่ฉันสามารถเขียนโค้ด Action / Order แต่ละครั้งได้ครั้งเดียวและ จากนั้นมอบให้กับทุกหน่วยงานที่ต้องมีการกระทำ
หากฉันไม่ชัดเจน (น่าเชื่อถือสูง) หรือคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่ฉันกำลังมองหาเพียงแค่ถามฉันในความคิดเห็น