ฉันกำลังพัฒนาเกมอวกาศ 2 มิติสำหรับอุปกรณ์พกพา แต่มันซับซ้อนจริง ๆ และโซลูชันของฉันสับสนจริง ๆ และสร้างเซ็กเมนต์รหัสซ้ำจำนวนมาก
ฉันได้ระดับโลกที่ฉันมีรายการหลากหลายของวัตถุที่แตกต่างกันเช่น:
List<Enemy> enemys;
List<Projectile> projectiles;
List<Collectable> collectables;
List<Asteroid> asteroids;
List<Effect> effects;
..
แต่ละรายการได้รับการปรับปรุงโดยระดับโลก แต่นั่นไม่ใช่ทั้งหมด .. ศัตรูแต่ละคนมีรายชื่อเครื่องยนต์และรายชื่ออาวุธที่ได้รับการปรับปรุงโดยศัตรู ตอนนี้แต่ละเครื่องยนต์เพิ่มเอฟเฟกต์ไฟบางส่วนให้กับรายการ 'เอฟเฟกต์โลก' และอาวุธแต่ละอันจะเพิ่มโปรเจ็คเตอร์ลงใน 'โปรเจ็คเตอร์' ของรายการโลก คลาสทั้งหมดเหล่านี้มีพารามิเตอร์ที่แตกต่างกันดังนั้นฉันต้องการการปรับปรุงพิเศษและฟังก์ชั่นการแสดงผลเพิ่มเติมสำหรับแต่ละชั้นเรียน
อย่างน้อยพวกเขาก็เป็นเด็กทั้งหมดของ 'GameObject' ซึ่งให้สิ่งพื้นฐานเช่นตำแหน่งความเร็วและเวกเตอร์การเร่งความเร็ว
มีวิธีที่ดีกว่าหรือมากกว่าทั่วไปในการทำเช่นนี้? เหมือนคลาส catch-all หนึ่งคลาสที่มีพารามิเตอร์และวิธีการที่เป็นไปได้ทั้งหมดสำหรับวัตถุที่แตกต่างกันทั้งหมด (ฉันคิดว่านี่จะสร้างรหัสที่สับสนมากขึ้น)