Tüm normal yollar engellendiğinde engellerden geçen en kısa yolu bulun


10

Bir Kule Savunması yapıyorum ve temel yol bulma çalışıyorum, ama bir sorunum var.

Yolu bloke etmek istiyorum ve bir blok oluştuğunda koşucular engelleme kulelerine saldıracak.

Yani ihtiyacım olan şey, daha da önemlisi, en az sayıda kuleye sahip olan en kısa yolu bulmanın bir yoludur.

Bunu nasıl yaparım?


1
yürünebilir yolunuzda bir çarpışma tespiti olmaz mıydı?
Prix

Engelleme kuleleri yıkılabilir olduğundan, aslında bir yol vardır. Sadece bunların içinden geçmenin maliyeti, engelsiz bir yol boyunca ilerlemekten çok daha yüksektir. (Aşağıdaki kodlayıcıdan cevaba bakınız)
bummzack

Yanıtlar:


21

Yolunuzda puanlama yapmak, bir kuleden geçmek çok sayıda karodan geçmekle aynıdır. Genel olarak etraflarında dolaşmaya çalışacaktır, ancak böyle bir yol yoksa çıktı hala en az sayıda engelden geçecektir. İsterseniz, cezayı bazen haritanın her yerine gitmek yerine geçecek şekilde ayarlayabilirsiniz.


basit ve sağlam bu uygulamanın bir kod örneği görmek isterdim
DFectuoso

3
A * algoritması ( en.wikipedia.org/wiki/A * _search_algorithm) yol maliyetleriyle çalışır. Bir kuleden geçen bölümlerin maliyetini artırmanız yeterli. Ajanlarınız kulelerden kaçmaya çalışacaklar ya da bir kuleye saldırmak "daha ucuz" ise, ona saldıracaklar. A * algoritması fikri maliyeti en aza indirmektir, bu yüzden sadece yol maliyetlerini
ayarlayarak

Bu, aklıma gelmeyecek harika bir çözüm, teşekkürler!
jhocking

Sadece bir not: Kule düğümlerine, yol açıkça engellendiğinde A * algoritması için kullanılan tahmini artırmadan büyük bir hareket maliyeti vermek, temsilcilerinizin bir mola vermeden önce engelin kendi kısımlarındaki her düğümü kontrol edeceği anlamına gelir. geçiş noktası. Düğümlerin ve ajanların miktarına bağlı olarak, bu algoritmayı engelleyici şekilde yavaşlatabilir.
Martin Sojka
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.