October 26, 2010 - Tagged as: java, tr.
Bil113 dersi 2. ödev için benim çözümümü buradan indirebilirsiniz. 212 satır olduğundan sayfaya yapıştırmıyorum.
Problemi buradan indirebilirsiniz. Kısaca, bir alan üzerine av ve avcı çizdirip, avcının avı yakalamasını sağlıyoruz. Tabii bazı şartlar var.
Avcım pek zeki olmadı, çok fazla ihtimal var ve bir yerden sonra sıktı açıkçası. Programın bazı özellikleri:
Yorumlarla beraber toplam satır sayısı: 212
Değerlendirilen ihtimaller:
Her durumda av hareket eder, bir sonraki el oyun bitecek olsa da, köşeye sıkışmış olsa da. Sadece üst üste doğma durumunda hareket etmez. Üst üste doğma durumunda oyun 0 turda bitmiş olur.
Av veya avcı grid alanı dışında oluşturulamaz, öyle bir durumda kullanıcıdan yeni koordinatlar istenir.
Av gridin sınırlarına olan uzaklığını bilmez. Eğer avcı ona çarprazdan yaklaşmışsa, önce Y ekseninde kaçmaya çalışır, kaçacak yeri kalmadığında X ekseninde eğer gideibliyorsa sağa, gidemiyorsa sola kaçar. Avın yakalanma süresini kısaltmak için herhangi birşey yapmaz. Sadece öncelikleri vardır, onlara göre hareket eder, bu, duruma göre yakalanma süresini bazen kısaltır, bazen de uzatır. Random kütüphanesi falan kullanmadım.
Grid çizme işlemi static gridCiz methodu ile yapılmaktadır. Bu method 6 arg alır, grid’in X ve Y uzunluğu, prey’in X ve Y koordinatı, hunter’ın X ve Y koordinatı.