Saya ingin cara untuk membuat banyak unit berbeda tanpa harus memprogram hal-hal seperti tindakan moveTo dan Attack lebih dari sekali
Cara saya melihatnya, ada 2 cara saya bisa melakukan ini.
- Kelas Unit generik tunggal dengan flag yang menentukan apa yang bisa / tidak bisa dilakukan (kemudian buat instance dalam array statis dan ambil ketika diperlukan)
- Abstrak unit class dengan metode abstrak untuk aksi spesifik Unit seperti (Attack, Harvest, Patrol), yang kemudian semua perlu diimplementasikan dalam subclass , bahkan jika unit tidak dapat benar-benar memanen apa pun.
cara pertama melakukan ini tampaknya yang paling sederhana, tetapi saya akan berakhir memiliki banyak kode yang tidak digunakan untuk sebagian besar unit.
cara kedua juga bisa berhasil. Tetapi jika saya memutuskan untuk memiliki dua unit berbeda yang dapat memanen sumber daya, saya akan memiliki kode yang sama persis di dua kelas yang berbeda, yang sepertinya bukan cara yang tepat untuk melakukannya.
Apakah ini bahkan pendekatan yang tepat untuk masalah ini?
Dalam permainan seperti AoE, setiap unit memiliki, apa yang saya anggap adalah, semacam Daftar Tindakan / Pesanan, saya benar-benar ingin tahu bagaimana mencapai sesuatu yang mirip dengan itu, di mana saya bisa mengkodekan setiap Aksi / Pesanan satu kali, dan kemudian berikan ke semua unit yang perlu diucapkan Action.
Jika saya tidak jelas (sangat masuk akal) atau Anda memerlukan informasi lebih lanjut tentang apa yang sebenarnya saya cari, tanyakan saja kepada saya dalam komentar.