Tôi đang tạo một trò chơi Tower Defense trong Flash không có đường dẫn được xác định trước.
Mặc dù lưới của tôi là 40x40 (nhỏ?), A * đang gặp khó khăn khi tính toán lại mỗi lần. Vì vậy, tôi đã thực hiện sửa đổi của riêng mình để giảm bớt tính toán lại và số lượng tế bào cảm ứng giảm xuống khoảng 900 (khi sửa đổi gần gốc). Nó vẫn đóng băng trong một thời gian rất ngắn, nhưng có thể phát hiện được, khi một tòa tháp mới được đặt.
Đây có phải là một vấn đề thực hiện, hoặc là 40x40 quá nhiều?
Biên tập:
Cấu trúc mã của tôi:
- Tất cả dữ liệu được lưu trong mảng 2d của các ô.
- Mỗi ô chứa cha mẹ của nó theo hướng đường dẫn (1-8 theo chiều kim đồng hồ) và mảng được mã hóa theo bit của các con của nó trong đường dẫn (mỗi bit đại diện cho một con).
- Việc tìm kiếm được thực hiện bởi A * với ước tính khoảng cách eidianidian.