Tôi muốn có một cách để tạo ra nhiều đơn vị khác nhau mà không phải lập trình các công cụ như hành động moveTo và Attack nhiều lần
Cách tôi nhìn thấy, có 2 cách tôi có thể làm điều này.
- Một lớp Đơn vị chung duy nhất có các cờ xác định những gì nó có thể / không thể làm (sau đó tạo các thể hiện trong một mảng tĩnh và lấy chúng khi cần)
- Lớp đơn vị trừu tượng với các phương thức trừu tượng cho các hành động dành riêng cho Đơn vị như (Tấn công, Thu hoạch, Tuần tra), sau đó tất cả cần phải được thực hiện trong các lớp con , ngay cả khi đơn vị thực sự không thể thu hoạch được gì.
cách đầu tiên để làm điều này có vẻ đơn giản nhất, nhưng cuối cùng tôi sẽ có rất nhiều mã không được sử dụng cho phần lớn các đơn vị.
cách thứ hai cũng có thể làm việc. Nhưng nếu tôi quyết định có hai đơn vị khác nhau có thể thu hoạch tài nguyên, tôi sẽ có cùng một mã chính xác trong hai lớp khác nhau, điều này dường như không phải là cách đúng đắn để làm điều đó.
Đây có phải là cách tiếp cận đúng cho vấn đề này?
Trong một trò chơi như AoE, mọi đơn vị đều có, tôi đoán là gì, một loại Danh sách Hành động / Đơn hàng nào đó, tôi thực sự muốn biết làm thế nào để đạt được thứ gì đó tương tự, trong đó tôi chỉ có thể mã hóa mỗi Hành động / Đặt hàng một lần và sau đó đưa nó cho tất cả các đơn vị cần nói Hành động.
Nếu tôi không rõ ràng (rất có lý) hoặc bạn cần thêm thông tin về chính xác những gì tôi đang tìm kiếm, chỉ cần hỏi tôi trong một nhận xét.