Burayı son dakikaya kadar beklettik. Bu yüzden bazı yerlerde değişiklik yapmak zorunda da kaldım. Neyse, ilk kendi denemem sonucunda pek başarılı olamayınca internette biraz arandım ve en basitinden A* Pathfinding denen algoritmayı uyarladım. Kısaca anlatması ve kayıtlı kalması açısından linki burada bulabilirsiniz.
Buradaki algoritmaya eklemem gereken iki şey oldu. Gerçi makaleyi tam olarak okumadım, belki değinmiştir. Bunlardan ilki daha önce eklenmiş bir kareyi almamak, diğeri de hedefe uzaklığını x + y olarak değil, sqrt(x^2 + y^2) olarak hesaplamam. Bu ikincisini yapmazsam basit ve kısayollarda bile farklı yollar seçiyor. Bu fonksiyonun da hypot olarak math.h içinde var olduğunu öğrendim böylece. Makefile’a bir de -lm parametresi eklendi
Bu işlem de tamam olduğuna göre, geri kalan işlemler daha da hızlanacak. Bugün ve yarın çok daha fazla yol alacağımı düşünüyorum.
Bu arada kodlar az önce SVN’ye gönderildi. Commit No:91; geçen sene de 100 commit civarında bitirdiydi yanlış hatırlamıyorsam.