untuk jelasnya logikanya gini.
ok pertama2 cerita dulu deh.
waktu aku ngerjain soal matematika ada pertanyaan gini ada seekor semut di pojok atas kiri harus nyampe ke bawah kiri nah ada berapa banyak kemungkinan jalan terpendek.
nah dari sana lah dapet ide nya.
pertama kan udah buat map.
trus setiap objek yang ada disini misalnya char diberi properties index.[nama] dimana nama adalah menunjuk ke suatu tile misalnya "t_10_16" ntuh maksudna 10 tile dari atas(mulai dari 0 ngitungnya) dan 16 tile ke kiri(mulai dari 0 ngitungnya).
trus dari tile tempet char berada di deteksi satu2 atas, bawah, kanan, kiri kalo dia itu walkablenya true dan apabila shortPathnya undefined dikasih properties shortPath=tile yang sedang diperiksa shortPathnya ditambah satu, maxPossiblenya ditambah dari tile yang sedang diperiksa. kenapa ditambah?? nanti saja ngejelasinnya nanti bakal jadi tambah panjang. trus destiny dari tile yang sedang diperiksa ditambah kordinat dari tile yang dideteksi oleh tile yang sedang diperiksa itu. trus source dari tile yang terdeteksi ditambah kordinat dari tile yang sedang diperiksa, trus yang mencari di tambah kordinat dari tile yang dideteksi supaya dicari pada putaran berikutnya.
dan begitu seterusnya sampe gak ada yang bisa dicari lagi trus berenti.
trus dilanjutkan fungsi makePath sewaktu ditekan mousenya.
fungsinya kira2 gini. pertama ambil kordinat dari mouse ke tile misalnya "t_25_25" nah artinya ambil data dari tile itu.
trus sourcenya di random.
kalo udah ke ambil itulah tile selanjutnya yang dicek.
trus begitu sampe ke tile tempet char kita berada.
@clawford:nah itulah karenanya berbeda2 karena pake random.
kecuali kamu klik di tile yang short pathnya 1 pasti gak berubah2
