Tôi đã xem xét một số thuật toán và bài viết về thủ tục tạo ra một hầm ngục. Vấn đề là, tôi đang cố gắng tạo ra một ngôi nhà có phòng và dường như chúng không phù hợp với yêu cầu của tôi.
Đối với một, ngục tối có hành lang, nơi nhà có hội trường. Và mặc dù ban đầu chúng có vẻ giống nhau, một hội trường không gì khác hơn là khu vực không phải là phòng, trong khi hành lang được thiết kế đặc biệt để kết nối khu vực này với khu vực khác.
Một sự khác biệt quan trọng khác với một ngôi nhà là bạn có chiều rộng và chiều cao cụ thể, và bạn phải lấp đầy toàn bộ mọi thứ bằng các phòng và hội trường, trong khi với một hầm ngục, có không gian trống.
Tôi nghĩ rằng các phòng trong một ngôi nhà là một cái gì đó ở giữa một hành lang ngục tối (đưa bạn đến các phòng khác) và một khoảng trống trong ngục tối (nó không được xác định rõ ràng trong mã).
Cụ thể hơn, các yêu cầu là:
- Có một bộ các phòng được xác định trước
tôi không thể tạo ra các bức tường và cửa ra vào. - Các phòng có thể được xoay nhưng không thể thay đổi kích thước
Một lần nữa, vì tôi có một bộ phòng được xác định trước, tôi chỉ có thể xoay chúng, không thể thay đổi kích thước chúng. - Kích thước ngôi nhà được đặt và phải được lấp đầy hoàn toàn với các phòng (hoặc hội trường)
Tức là tôi muốn lấp đầy một ngôi nhà 14x20 với các phòng có sẵn để đảm bảo không có không gian trống.
Dưới đây là một số hình ảnh để làm cho điều này rõ ràng hơn một chút:
Như bạn có thể thấy, trong nhà, "không gian trống" vẫn có thể đi bộ và nó đưa bạn từ phòng này sang phòng khác.
Vì vậy, đã nói tất cả những điều này, có lẽ một ngôi nhà chỉ là một hầm ngục thực sự rất chật với các hành lang. Hoặc nó là một cái gì đó dễ dàng hơn một ngục tối. Có lẽ có một cái gì đó ở ngoài đó và tôi đã không tìm thấy nó bởi vì tôi thực sự không biết phải tìm kiếm cái gì.
Đây là nơi tôi muốn sự giúp đỡ của bạn: bạn có thể cho tôi gợi ý về cách thiết kế thuật toán này không? Bất kỳ suy nghĩ về những bước nó sẽ mất? Nếu bạn đã tạo một trình tạo dungeon, bạn sẽ sửa đổi nó như thế nào cho phù hợp với yêu cầu của tôi? Bạn có thể cụ thể hoặc chung chung như bạn muốn. Tôi đang tìm cách để chọn bộ não của bạn, thực sự.