Ben Pokemon buz sürgülü bulmaca benzer bir bulmaca oyunu yapmak amacıyla rastgele yönlendirilmiş bir grafik oluşturmak için çalışıyorum.
Temelde rastgele oluşturmak istediğim şey bu: http://bulbanews.bulbagarden.net/wiki/Crunching_the_numbers:_Graph_theory .
Bir x ve y boyutunda grafik boyutunu sınırlamak gerekir. Bağlantıda verilen örnekte, 8x4 ızgara ile sınırlı olacaktır.
Karşılaştığım sorun, rastgele bir grafik oluşturmak değil, bir düğümün karşı tarafında bir şey (kaya gibi) ihtiyacım olduğu için 2d uzayda düzgün bir şekilde haritalayabileceğim bir grafik oluşturmak. kaymayı bıraktığınızda görsel olarak mantıklı. Buradaki problem, bazen kayanın diğer iki düğüm arasındaki yolda veya muhtemelen başka bir düğümün kendisinde kalması ve tüm grafiğin kırılmasına neden olmasıdır.
Sorunu tanıdığım birkaç insanla tartıştıktan sonra, çözüme yol açabilecek birkaç sonuca vardık.
- Grafiği oluştururken grafiğin bir parçası olarak ızgaradaki engelleri dahil etmek.
- Tamamen dolu bir ızgara ile başlayın ve rastgele bir yol çizin ve bu yolu çalıştıracak blokları silin.
Daha sonra ek, daha kısa bir yol eklemekten kaçınmak için hangilerinin silineceğini bulmaya başlar. Dinamik bir programlama algoritmasının faydalı olabileceğini düşünüyoruz, ancak hiçbirimiz hiçbir şeyden dinamik programlama algoritmaları oluşturma konusunda çok yetenekli değiliz. Bu sorunun resmi olarak adlandırıldığı (resmi bir grafik sorunu ise) hakkındaki herhangi bir fikir veya referans en yararlı olacaktır.
Burada, blokları rastgele yerleştirerek ve seçilen başlangıç / bitişten navigasyon grafiğini oluşturarak şimdiye kadar elde ettiğim bazı örnekler var. Fikir (önceki bağlantıda açıklandığı gibi) yeşil S'den başlayıp yeşil F'ye ulaşmak istiyorsunuz. Bunu yukarı / aşağı / sola / sağa hareket ettirerek yaparsınız ve bir tuşa basıncaya kadar seçilen yönde hareket etmeye devam edersiniz. duvar. Bu resimlerde gri bir duvar, beyaz zemin ve mor çizgi baştan sona minimum uzunluktur ve siyah çizgiler ve gri noktalar olası yolları temsil ediyordu.
Rastgele oluşturulmuş grafiklerden bazı kötü örnekler:
Rastgele oluşturulmuş (veya elle ayarlanmış) grafiklere bazı iyi örnekler:
Ben de aslında bir bulmaca olarak oynarken daha zor olanları fark gibi görünüyordu asgari yol boyunca çok sayıda yüksek dereceli düğüm olanlardır.