Saya dan tim sedang mengerjakan permainan pembuat pabrik yang memberikan pemain pabrik acak pada awal permainan. Untuk mencoba memastikan ada rasa "keadilan," idealnya pabrik yang dihasilkan secara acak akan memiliki area dalam beberapa unit (nilai placeholder) 30.
Ini relatif sederhana untuk menulis generator persegi panjang acak dasar untuk memenuhi spesifikasi ini, tetapi tujuan kami adalah agar pabrik menjadi lebih kompleks, mungkin terdiri dari 2, 3, atau bahkan 4 persegi panjang berpotongan, menghasilkan bentuk yang lebih kompleks (pikirkan L, Bangunan berbentuk U, dan O).
Saya sudah mencoba membuat persegi panjang acak dan kemudian menggunakan aljabar dasar untuk mengisi persegi panjang ke-2, tapi sejauh ini saya tidak beruntung menerapkan lebih dari 2 persegi panjang, dan bahkan kemudian saya tidak senang dengan hasilnya hanya untuk desain 2 persegi panjang. .
Beberapa info yang lebih relevan: 2D top down Beberapa mekanik adalah gaya faktorio sehingga kamar harus memiliki panjang dan lebar yang masuk akal untuk memungkinkan ruang untuk mesin Saat ini di Jawa dan Lua (dapat menggunakan perpustakaan built in baik jika diperlukan)
Terima kasih sebelumnya!
EDIT: Ketika saya mengatakan output "baik" atau "buruk", output yang buruk adalah output yang memiliki ruang yang tidak dapat digunakan oleh pemain. Batas bentuk pabrik di mana pemain dapat menempatkan mesin pabrik seperti ban berjalan. Idealnya, pabrik tidak boleh memiliki area yang hanya 1-2 blok lebar, bentuknya tidak boleh satu atau dua persegi panjang besar dengan garis 1-2 blok "menggantung" ke satu sisi. Output yang baik adalah di mana semua ruang lantai "bisa dikerjakan", sehingga semua area memiliki lebar setidaknya 3-4 blok. Output yang baik tidak selalu harus kompleks (1 atau 2 persegi panjang tidak apa-apa), tetapi harus memiliki peluang yang adil jika terdiri dari lebih dari 1-2 persegi panjang.