Sebelumnya, terima kasih kepada om Nur Hidayat (@hidayat365, Pojok Programmer) untuk tantangannya di grup Telegram PHP Indonesia for Students. Tantangan ini kembali mengingatkan saya bahwa overthinking itu tidak perlu. π
Ada seorang raja kaya memiliki wilayah kekuasaan yang luas sedang berburu sendirian, namun sayang tak sengaja dia terpelesat dan kakinya terkilir. Untungnya dia membawa seekor merpati, sehingga dikirimlah merpati itu kembali ke istana untuk meminta bantuan.
Gambarkan perjalanan si merpati dari tempat sang raja kembali ke istana.
- Ukuran wilayah sebesar 10 Γ 10 satuan.
- Koordinat sang raja dan istana boleh random boleh atau input dari user. (Disini saya pilih random)
- Merpati hanya bisa bergerak sejauh satu satuan/langkah ke segala arah.
Saya sempat overthinking untuk menghitung jarak terdekat antara sang raja dan istananya, menggunakan rumus Pytaghoras, bahkan sampai menghitung sudut dengan trigonometri, karena saya kira tidak mungkin membuat merpati melangkah secara diagonal tanpa menghitung jarak terdekatanya. Setelah beberapa kali iterasi dan selalu gagal, ternyata hanya dengan sedikit logika percabangan sudah cukup. ππ
Teknisnya, saya bangun dulu wilayah kerajaan dan saya tetapkan lokasi sang raja dan istananya. Lalu, saya mulai menghitung langkah yang dilakukan oleh merpati. Saya simpan dalam satu variabel untuk nantinya dipakai sebagai pembanding ketika wilayah kerajaan mulai digambar oleh program. π
Silakan hubungi saya via Facebook @iianmustafa, Twitter @iianmustafa atau Telegram @ianmustafa.