Tôi đang làm việc trên một trò chơi 2D nơi bạn có thể di chuyển lên, xuống, sang trái và phải. Về cơ bản tôi có hai đối tượng logic trò chơi:
- Người chơi: Có một vị trí liên quan đến thế giới
- Thế giới: Vẽ bản đồ và người chơi
Cho đến nay, World phụ thuộc vào Người chơi (tức là có tham chiếu đến nó), cần vị trí của nó để tìm ra nơi để vẽ nhân vật người chơi và phần nào của bản đồ sẽ vẽ.
Bây giờ tôi muốn thêm phát hiện va chạm để người chơi không thể di chuyển qua các bức tường.
Cách đơn giản nhất tôi có thể nghĩ đến là để Người chơi hỏi Thế giới nếu chuyển động dự định là có thể. Nhưng điều đó sẽ giới thiệu một sự phụ thuộc vòng tròn giữa Người chơi và Thế giới (tức là mỗi người giữ một tham chiếu đến người khác), điều này có vẻ đáng để tránh. Cách duy nhất tôi nghĩ ra là để Thế giới di chuyển Người chơi , nhưng tôi thấy điều đó không trực quan.
lựa chọn tốt nhất của tôi là gì? Hoặc là tránh một phụ thuộc tròn không đáng?