Labirentte Yol Bulma

Katılım
16 Ağustos 2004
Mesajlar
137
Excel Vers. ve Dili
Office 2010 En 64 Bit
Herkese Merhaba,

Basit, labirent oyunu tarzında bir oyun yapmak istiyorum (aslında daha çok "Tower Defence Games" olarak sınıflandırılmış olan uygulamalara benzeyecek. Bilmeyenler Google'dan "Desktop Tower Defence" şeklinde arama yapıp ilgili türün en başarılı örneklerinden birine ulaşabilirler).

Bunun için ilk adım olarak ekteki dosyada göreceğiniz gibi yeşil olarak boyanmış "A11:A12" noktalarından başlayarak sadece aşağı, yukarı, sağa, sola birer hücre ilerleyerek kırmızı ile boyanmış olan "V11:V12" noktalarına ulaşan bir harita oluşturuyorum, ancak haritada oluşturacağım yol mutlaka yeşil noktadan kırmızı noktaya ulaşabilmeli, yani yolu bloke etmemem gerekiyor.

İşte bu kontrolü yapmak için ufak bir kod yazdım ancak kodun çalışması benim bilgisayarımda 15-20 saniye kadar sürüyor. Halbuki benim en fazla 1-2 saniye içinde bahsettiğim kontrolü yapacak bir kod yazmam gerekir (Kodun içindeki "Application.ScreenUpdating" kısımlarını sadece kodun ne durumda olduğunu görmek için kullandım, normalde o satırlar aktif olacak tabii ki).

Önerilerinizi duymak için sabırsızlanıyorum :)

Not1: Paint ve diğer tüm resim düzenleme uygulamalarında bulunan "Fill Color" (Renkle Doldur) türü bir yaklaşım en hızlı kontrol ancak bu durumu Excel'e uyarlayamıyorum ne yazık ki :frown:

Not2: Yavaş bile olsa henüz çözüm getiremediğim diğer konu; sonuca ulaşan birden fazla yol olabilir, bunlardan hangisinin en kısa yol olduğunu nasıl tesbit edebileceğim hakkında henüz bir fikrim yok :frown:

Not3: konu en azından benim için yeterince Zihni Sinir bir durum olduğu için bu bölüme açmayı uygun buldum. Olmazsa VBA Soruları başlığı altına taşınabilir.

Kolay Gelsin.
 

Ekli dosyalar

Katılım
24 Nisan 2005
Mesajlar
3,653
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Mesajı hortlatmış gibi oldum ama neyse :)

Forum da dolaşırken ilgimi çekti. Yolu bulan bir makro yazdım.
Ancak, henüz en kısa yolu bulamıyor. :)
İkinci bir durum yolun sadece bir kareden oluşması gerekiyor.
 

Ekli dosyalar

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Değerli arkadaşlar.
Bende katkı olsun diye Labirentte yol bulma ile ilgili farklı bir çözüm ekledim.
Yazdığım Program ek tedir.
Değerli yorum ve tavsiyelerinizi bekliyorum.
Tüm Arkadaşlara iyi çalışmalar..
 

Ekli dosyalar

Son düzenleme:
Katılım
31 Mart 2009
Mesajlar
227
Excel Vers. ve Dili
2010 türkçe
Değerli arkadaşlar.
Bende katkı olsun diye Labirentte yol bulma ile ilgili farklı bir çözüm ekledim.
Yazdığım Program ek tedir.
Değerli yorum ve tavsiyelerinizi bekliyorum.
Tüm Arkadaşlara iyi çalışmalar..

Oldukça başarılı bir çalışma. Emeğinize sağlık
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Program yazmayı özellikle oyun programlamayı çok seviyorum.. Boş kaldıkça program yazmak çok sevdiğim bir uğraş..Bu formda bir kelime bir işlem yarışma programının işlem kısmını halleden program yazıp göndermiştim... Yorumunuz için teşekkürler..
 
Katılım
24 Nisan 2005
Mesajlar
3,653
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Değerli arkadaşlar.
Bende katkı olsun diye Labirentte yol bulma ile ilgili farklı bir çözüm ekledim.
Yazdığım Program ek tedir.
Değerli yorum ve tavsiyelerinizi bekliyorum.
Tüm Arkadaşlara iyi çalışmalar..
Çalışma güzel, geliştirme olarak.
Program hatalı gittiği yolları göstermeyip, kazandığı tecrübeyle sadece doğru yolu göstererek ilerlese daha güzel olurdu.
 
Katılım
22 Aralık 2011
Mesajlar
1
Excel Vers. ve Dili
microsoft office 2007
vb dili
elinize sağlık bu bilgilerle ben de labirent oyununu yapacağım
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Hadi Kolay gelsin O zaman size.. ( can4to ' ya)
 
Üst