Tôi đã đưa ra một phương pháp để tạo đệ quy các bản đồ ngục tối đơn giản bằng cách bắt đầu với một phòng và kết nối đệ quy các phòng liền kề mới một cách ngẫu nhiên với nó.
Bản đồ được biểu diễn dưới dạng mảng hai chiều trong đó mỗi ô chứa giá trị 0-15. 0 đại diện cho không có phòng trong khi mỗi hướng được đại diện bởi bắc = 1, đông = 2, nam = 4, tây = 8.
Tôi muốn bắt đầu với một phòng không duy nhất ([[0]]) và sau đó mở rộng mảng 2d khi cần thiết để phù hợp với bản đồ được tạo. Khó khăn mà tôi gặp phải với cây này như đệ quy là nếu các mảng phải được dịch chuyển để thêm các hàng và cột ở bên trái và trên cùng của bản đồ, tôi phải điều chỉnh vị trí hiện tại của hàm, hàng và cột đó ở đâu . Điều này làm cho nó để các nhánh riêng biệt không biết điều chỉnh chỉ số mảng từ các nhánh khác, chỉ các hàm con của chúng sẽ biết vì chúng có vị trí được điều chỉnh được truyền cho chúng dưới dạng đối số hàng và cột.
Có cách nào để làm việc này không? Tôi đã thử lưu trữ giá trị bù hàng và cột bên ngoài đệ quy, nhưng nó không hoạt động vì một số lý do.