lineOfSight
lineOfSight
> Fungsi
Memeriksa garis pandang antara sel start dan sel end, dengan mengabaikan entitas dalam larik entityToIgnore.
Contoh: jika (lineOfSight(getCell(), getCell(musuh))
Algoritma dijelaskan sebagai berikut:
- Gambarlah segmen antara pusat dari dua sel yang diuji.
- Buat daftar sel yang dilintasi segmen ini. Sebuah sel tidak dianggap bersilangan jika ruasnya menyentuh ujungnya, atau jika diabaikan.
- Jika hanya satu dari sel yang disilangkan ini yang merupakan penghalang atau mengandung entitas, garis pandang diblokir, jika tidak jelas.
Pengaturan
- mulai: Memulai sel.
- akhir: Sel target.
- entityToIgnore (opsional): Entitas yang akan diabaikan atau deretan entitas yang akan diabaikan, secara default, entitas Anda akan diabaikan.
Masukan
- kalah: (boolean)
benar jika garis pandang jelas;
false sebaliknya.
Demonstrasi
Klik pada sebuah sel untuk menampilkan semua sel yang berhadapan dengannya.