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.
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
-
39 KB Görüntüleme: 549