Tôi có một chiến lược dựa trên gạch 2D trong các tác phẩm. Tôi đang đi lang thang làm thế nào để xử lý mối quan hệ giữa bản đồ và các đơn vị trên bản đồ.
Nếu có tọa độ ô, tôi sẽ cần có thể đặt đơn vị đứng trên nó, nếu có. Đồng thời, nếu được cung cấp một đơn vị, tôi sẽ muốn có thể có được tọa độ của đơn vị đó.
Tôi đã thấy hai giải pháp cho vấn đề này. Giải pháp đầu tiên là có các đơn vị lưu trữ tọa độ và tham chiếu đơn vị lưu trữ bản đồ trong các ô của nó. Điều này tạo ra sự phụ thuộc theo chu kỳ giữa bản đồ và đơn vị. Tôi cần đảm bảo rằng bản đồ mà bất kỳ đơn vị nào được giữ đồng bộ nếu đơn vị di chuyển.
Giải pháp thứ hai là chỉ các đơn vị theo dõi tọa độ của chúng. Để biết một ô có chứa một đơn vị không và để có được đơn vị đó, tôi sẽ lặp qua toàn bộ đơn vị đơn vị tôi tìm thấy một đơn vị có tọa độ khớp. Điều đó có được sự phụ thuộc của sự phụ thuộc theo chu kỳ, nhưng nó làm mất tính chất O (1), giải pháp đầu tiên có được khi tìm kiếm các đơn vị từ bản đồ. Điều này có thể bổ sung vì tôi muốn có thể quét bản đồ thường xuyên để tìm những thứ như tìm đường, xác định phạm vi di chuyển và tìm mục tiêu hợp lệ cho một đơn vị nhất định.
Tôi cũng không thể lưu trữ các đơn vị trong bản đồ (hoặc tôi có thể?). Các đơn vị được liên kết với "quân đội", người chơi hoặc AI. Một đội quân sẽ có thể dễ dàng truy cập và lặp lại trên tất cả các đơn vị của nó.
Vì đây có vẻ là một vấn đề phổ biến trong các trò chơi chiến lược, có bất kỳ mẫu nào khác ngoài hai mẫu tôi đã mô tả để quản lý các mối quan hệ đơn vị / bản đồ không?