Miklix

Büyüyen Ağaç Algoritması Labirent Oluşturucu

Yayınlandı: 16 Şubat 2025 21:37:23 UTC
Son güncelleme: 12 Ocak 2026 09:05:56 UTC

Büyüyen Ağaç algoritmasını kullanarak mükemmel bir labirent oluşturan labirent jeneratörü. Bu algoritma, Avla ve Öldür algoritmasına benzer labirentler üretme eğilimindedir, ancak tipik çözümü biraz farklıdır.

Bu sayfa, mümkün olduğunca çok kişi tarafından erişilebilir olması amacıyla İngilizce'den makine çevirisiyle çevrilmiştir. Ne yazık ki, makine çevirisi henüz mükemmelleştirilmiş bir teknoloji değildir, bu nedenle hatalar meydana gelebilir. Tercih ederseniz, orijinal İngilizce versiyonu buradan görüntüleyebilirsiniz:

Growing Tree Algorithm Maze Generator

Büyüyen Ağaç algoritması, üretim sırasında bir sonraki hücrenin nasıl seçildiğine bağlı olarak diğer birçok algoritmanın davranışını taklit edebildiği için ilgi çekicidir. Bu sayfadaki uygulama, genişlik öncelikli, kuyruk benzeri bir yaklaşım kullanmaktadır.

Mükemmel bir labirent, labirentteki herhangi bir noktadan diğer herhangi bir noktaya tam olarak tek bir yolun olduğu bir labirenttir. Bu, daireler çizerek ilerleyemeyeceğiniz, ancak sık sık çıkmaz sokaklarla karşılaşacağınız ve sizi geri dönmeye zorlayacağınız anlamına gelir.

Burada oluşturulan labirent haritaları, herhangi bir başlangıç ve bitiş konumu olmayan varsayılan bir sürüm içerir, böylece bunlara kendiniz karar verebilirsiniz: labirentin herhangi bir noktasından başka bir noktaya bir çözüm olacaktır. İlham almak isterseniz, önerilen bir başlangıç ve bitiş konumunu etkinleştirebilir ve hatta ikisi arasındaki çözümü görebilirsiniz.


Yeni labirent oluşturun








Büyüyen Ağaç Algoritması Hakkında

Büyüyen Ağaç algoritması, mükemmel labirentler oluşturmak için esnek ve güçlü bir yöntemdir. Algoritma, işlenecek bir sonraki hücreyi nasıl seçtiğinize bağlı olarak Prim algoritması, özyinelemeli geri izleme ve özyinelemeli bölme gibi diğer birçok labirent oluşturma algoritmasının davranışını taklit edebildiği için ilgi çekicidir.

Büyüyen Ağaç Algoritması Nasıl Çalışır?

Adım 1: Başlatma

  • Ziyaret edilmemiş hücrelerden oluşan bir tablo ile başlayın.
  • Rastgele bir başlangıç hücresi seçin ve listeye ekleyin.

Adım 2: Labirent Oluşturma Döngüsü

  • Hücre listesi boş değilken: Belirli bir stratejiye (aşağıda açıklanmıştır) göre listeden bir hücre seçin. Seçilen hücreden ziyaret edilmemiş komşularından birine (rastgele seçilmiş) bir geçit açın. Komşu hücreyi listeye ekleyin, çünkü artık labirentin bir parçasıdır. Seçilen hücrenin ziyaret edilmemiş komşusu yoksa, listeden çıkarın.

Adım 3: Sonlandırma

  • Listede hiç hücre kalmadığında, yani tüm labirent oyulmaya başlandığında algoritma sona erer.

Hücre Seçim Stratejileri (Algoritmanın Esnekliği)

Büyüyen Ağaç algoritmasının belirleyici özelliği, bir sonraki hangi hücreyi işleyeceğinizi seçmenizdir. Bu seçim, labirentin görünümünü önemli ölçüde etkiler:

En Yeni Hücre (Yığın Benzeri Davranış) – Özyinelemeli Geri İzleme:

  • Her zaman en son eklenen hücreyi seçin.
  • Uzun, kıvrımlı ve birçok çıkmaz sokak içeren koridorlar oluşturur (tıpkı derinlemesine arama labirenti gibi).
  • Labirentler genellikle uzun geçitlere sahiptir ve çözülmesi kolaydır.

Rastgele Hücre (Rastgeleleştirilmiş Prim Algoritması):

  • Her seferinde listeden rastgele bir hücre seçin.
  • Karmaşık ve dolambaçlı yollarla daha eşit dağılımlı bir labirent oluşturur.
  • Daha az uzun koridor ve daha çok dallanma.

En Yaşlı Hücre (Sıra Benzeri Davranış):

  • Listedeki en eski hücreyi her zaman seçin.
  • Genişlik öncelikli arama desenine benzer şekilde, daha düzgün dağılımlı labirentler oluşturur.
  • Sık bağlantılara sahip kısa, çalılıklarla kaplı geçitler.
  • (Burada uygulanan sürüm budur)

Hibrit Yaklaşımlar:

Farklı labirent özelliklerine yönelik stratejileri birleştirin. Örneğin:

  • %90 en yeni, %10 rastgele: Çoğunlukla özyinelemeli bir geri izleme labirentine benziyor, ancak uzun koridorları bölen ara sıra dallanmalar da mevcut.
  • %50 yeni, %50 eski: Uzun koridorları gür bitki örtüsüyle dengeler.

Daha Fazla Okuma

Bu yazıyı beğendiyseniz, şu öneriler de ilginizi çekebilir:


Bluesky'de paylaşFacebook'ta paylaşLinkedIn'de paylaşTumblr'da paylaşX'te paylaşLinkedIn'de paylaşPinterest'e Pinleyin

Mikkel Christensen

Yazar Hakkında

Mikkel Christensen
Mikkel miklix.com'un yaratıcısı ve sahibidir. Profesyonel bilgisayar programcısı/yazılım geliştiricisi olarak 20 yılı aşkın deneyime sahiptir ve şu anda büyük bir Avrupa BT şirketinde tam zamanlı olarak çalışmaktadır. Blog yazmadığı zamanlarda, boş zamanlarını çok çeşitli ilgi alanları, hobiler ve aktivitelerle geçirmektedir ve bu da bir dereceye kadar bu web sitesinde kapsanan konuların çeşitliliğine yansıyabilir.