Ngay bây giờ tôi đang sử dụng thuật toán dòng của Bresenham cho đường ngắm. Vấn đề là tôi đã tìm thấy một trường hợp cạnh mà người chơi có thể nhìn xuyên tường. Xảy ra khi người chơi nhìn giữa hai góc tường với một khoảng trống ở phía bên kia ở các góc cụ thể.
Kết quả tôi muốn là cho gạch giữa hai bức tường được đánh dấu không hợp lệ như vậy.
Cách nhanh nhất để sửa đổi thuật toán dòng của Bresenham để giải quyết vấn đề này là gì? Nếu không có một giải pháp tốt, liệu có một thuật toán phù hợp hơn? Bất kỳ ý tưởng đều được chào đón. Xin lưu ý giải pháp cũng phải có khả năng hỗ trợ 3d.
Chỉnh sửa: Giải pháp đơn giản của tôi là kiểm tra xem cả hai góc có bị đóng khi tọa độ x và y của một dòng thay đổi hay không. Để biết mã nguồn làm việc và bản demo tương tác của sản phẩm đã hoàn thành, vui lòng xem http://ashblue.github.io/javascript-pathfinding/