Günaydın!
Mahsullerinizi sulama zamanı.
Sulama Kabınızı çıkarın ve güzel mahsullerinizden herhangi birine sol tıklayın.
Mahsulleriniz için duyduğunuz sevginin bir mucizesiyle, bir düğmeye bile basmadan geri kalanlarını sulamaya kapılırsınız.
Sulama kabınızı içgüdüsel olarak doldurmak için daha fazla su otomatik olarak alınır, hala açık bir zihin durumunda olursunuz.
Herhangi bir düğmeye basarak erken uyanabilirsiniz.
Endişelenmeyin, sulamaktan bayılmayacaksınız, dayanıklılığınız bitmeden duracaksınız.
Mod, oyuncunun sağ tıklamasını
dinleyerek başlar. Oyuncu sulama kabıyla bir bitkiye tıklıyorsa, bot başlar.
Bot önce çiftlik haritası verilerini tarar, karodan karoya geçerek aşağıdaki özellikleri işaretler:
Özellik | Açıklama |
---|---|
Sulanabilir | Karoya su vermek gerekiyor mu? |
Engel | Karo, oyuncunun üzerine yürümesine izin veriyor mu? |
Su | Oyuncu burada Sulama Kabını doldurabilir mi? |
Tüm karolar 2D bir diziye yerleştirilir. Sulanabilir mahsuller de kendi dizilerine yerleştirilir.
Yukarıdaki resim için karolar aşağıdaki gibi renklendirilmiştir:
Renk | Sulanabilir | Engel | Su |
---|---|---|---|
Yeşil | Doğru | Yanlış | Yanlış |
Koyu Yeşil | Doğru | Doğru | Yanlış |
Turkuaz | Yanlış | Doğru | Doğru |
Koyu Mavi | Yanlış | Yanlış | Doğru |
Kırmızı | Yanlış | Doğru | Yanlış |
Sulama gerektiren mahsul bulunan karolar, derinlemesine arama kullanılarak bitişiklik bazında gruplanır.
Bot daha sonra bir gruptan diğerine seyahat maliyetini belirlemek için A* yol bulma algoritmasını kullanır.
Algoritma, her grubun merkezine en yakın karodan başlar.
Her gruba seyahat maliyeti, oyuncunun mevcut konumundan da hesaplanır.
Bu bize güzel bir maliyet matrisi verir!
Oyuncu | Mor | Sarı | Mavi | |
---|---|---|---|---|
Oyuncu | -1 | 11 | 5 | 5 |
Mor | 11 | -1 | 6 | 8 |
Sarı | 5 | 6 | -1 | 6 |
Mavi | 5 | 8 | 6 | -1 |
Bu noktada ulaşılamayan gruplar dikkate alınmaz.
Tüm gruplar arasında en kısa yolu bulmamız gerekiyor, başlangıç noktası oyuncunun mevcut konumu.
Bot, seyahat eden satıcı problemini çözmek için açgözlü bir yaklaşım kullanır.
Başlangıç noktası oyuncunun konumudur.
Her grup için derinlemesine arama uygulanarak karolar doldurulur.
Her karoda, tüm bitişik (artık köşegenler dahil) de sulanır. Bu, her bloğa yürümeyi atlayıp etrafımızdaki her şeyi sulayabileceğimiz anlamına gelir.
Bir blok üzerine basılamıyorsa, bot en iyi seçeneği seçer ve oradan sular.
Sulama kabı azaldığında, bot en yakın su kaynağına gidip dolum yapar.
En yakın doldurma noktası, oyuncunun konumundan genişleme araması kullanılarak bulunur.
Nokta bulunduğunda, bot oyuncuyu suya en yakın noktaya yönlendirir, doldurur ve ardından sulamaya devam eder.