Kendim ve bir ekip, oyuncuya oyunun başında rastgele bir fabrika veren bir fabrika üreticisi oyunu üzerinde çalışıyoruz. Bir "adalet" duygusu olduğundan emin olmak için, ideal olarak rastgele üretilen fabrika birkaç birim (30 yer tutucu değeri) içinde bir alana sahip olacaktır.
Bu spesifikasyonları karşılamak için temel bir rastgele dikdörtgen jeneratör yazmak nispeten basittir, ancak amacımız fabrikanın daha karmaşık olması, belki de 2, 3 veya hatta 4 kesişen dikdörtgenden oluşması ve daha karmaşık şekiller üretmesidir (L'yi düşünün, U ve O şekilli binalar).
Rastgele bir dikdörtgen oluşturmaya çalıştım ve daha sonra 2. bir dikdörtgeni doldurmak için temel cebiri kullanarak denedim, ancak şimdiye kadar 2'den fazla dikdörtgen uygulayan şansım olmadı ve o zaman bile sadece 2 dikdörtgen tasarımın sonuçlarından memnun değilim .
Daha alakalı bazı bilgiler: 2D yukarıdan aşağıya Mekaniklerin bazıları faktörio stilidir, bu nedenle odaların makine için yer açmak için makul uzunluk ve genişliğe sahip olması gerekir Şu anda Java ve Lua'da (gerektiğinde yerleşik kütüphaneleri de kullanabilir)
Şimdiden teşekkürler!
DÜZENLEME: "İyi" veya "kötü" çıktılar dediğimde, kötü çıktı, oynatıcı tarafından kullanılamayan alanı olan herhangi bir çıktı olur. Fabrika şekli, oynatıcının taşıma bantları gibi fabrika makinelerini yerleştirebileceği yerleri sınırlar. İdeal olarak, fabrika sadece 1-2 blok genişliğinde alanlara sahip olmamalı, şekil bir ya da iki büyük dikdörtgen olmamalıdır, 1-2 blok bir satır "asılı" bir çizgi. İyi bir çıktı, tüm zemin alanının "uygulanabilir" olduğu yerlerdir, bu nedenle tüm alanlar en az 3-4 blok genişliğindedir. İyi bir çıktı her zaman karmaşık olmak zorunda değildir (1 veya 2 dikdörtgen uygundur), ancak 1-2'den fazla dikdörtgenden oluşuyorsa adil bir şansı olmalıdır.