Bản thân tôi và một nhóm đang làm việc trong một trò chơi xây dựng nhà máy cung cấp cho người chơi một nhà máy ngẫu nhiên khi bắt đầu trò chơi. Để cố gắng đảm bảo có ý nghĩa về "sự công bằng", lý tưởng nhất là nhà máy được tạo ngẫu nhiên sẽ có một khu vực trong một vài đơn vị (giá trị giữ chỗ) 30.
Rất đơn giản để viết một trình tạo hình chữ nhật ngẫu nhiên cơ bản để đáp ứng các thông số kỹ thuật này, nhưng mục tiêu của chúng tôi là nhà máy phức tạp hơn, có thể được tạo thành từ 2, 3 hoặc thậm chí 4 hình chữ nhật giao nhau, tạo ra các hình dạng phức tạp hơn (nghĩ về L, Tòa nhà hình chữ U và chữ O).
Tôi đã thử tạo một hình chữ nhật ngẫu nhiên và sau đó sử dụng đại số cơ bản để điền vào hình chữ nhật thứ 2, nhưng cho đến nay tôi không có may mắn thực hiện hơn 2 hình chữ nhật, và thậm chí sau đó tôi không hài lòng với kết quả cho thiết kế 2 hình chữ nhật .
Một số thông tin liên quan khác: 2D từ trên xuống Một số cơ học là kiểu nhân tố nên các phòng nên có chiều dài và chiều rộng hợp lý để có chỗ cho máy móc Hiện tại trong Java và Lua (có thể sử dụng các thư viện được xây dựng từ nếu cần)
Cảm ơn trước!
EDIT: Khi tôi nói đầu ra "tốt" hoặc "xấu", đầu ra xấu sẽ là bất kỳ đầu ra nào có không gian không thể sử dụng được bởi người chơi. Giới hạn hình dạng nhà máy nơi người chơi có thể đặt các máy móc của nhà máy như băng chuyền. Lý tưởng nhất, nhà máy không nên có các khu vực chỉ rộng 1-2 khối, hình dạng không nên là một hoặc hai hình chữ nhật lớn với một dòng 1-2 khối "treo" ra một bên. Một đầu ra tốt sẽ là nơi tất cả các không gian sàn là "hoàn toàn khả thi", vì vậy tất cả các khu vực rộng tối thiểu 3-4 khối. Một đầu ra tốt không phải lúc nào cũng phải phức tạp (1 hoặc 2 hình chữ nhật là được), nhưng nó sẽ có cơ hội công bằng nếu được tạo thành từ hơn 1-2 hình chữ nhật.