숨바꼭질

숨바꼭질

> 프로그래밍

이 알고리즘은 이동 중에도 적이 시야에 들어오지 않는 셀을 찾는 것을 목표로 합니다.

일반적으로 대부분의 영어 사용자에게 "Cache-cache" 또는 "Hide and seek"라는 이름으로 이 알고리즘에 대해 듣게 될 것입니다.

사용

숨바꼭질은 움직임을 보다 효과적으로 관리할 수 있는 첫 번째 방법 중 하나입니다.

자신의 파가 장애물 뒤에 숨어 상대가 접근할 수 없다면 상대는 장애물을 뚫고 스파크, 광역 등 교활한 방법을 사용할 수밖에 없습니다.

원칙

숨길 셀을 찾는 데 일반적으로 사용되는 방법은 접근 가능한 셀 알고리즘을 사용합니다.

따라서 첫 번째 단계는 셀에 액세스할 수 있도록 하는 것이므로 어떤 셀로 이동할 수 있는지 알 수 있으므로 잠재적으로 숨을 수 있습니다. 그러나 또한 상대(또는 상대방)의 위치를 파악하여 상대가 어디로 갈 수 있는지 파악하여 이동 중에도 도달할 수 없는 셀을 찾습니다.

그런 다음 부추에 접근할 수 있는 세포 중에서 "안전한" 세포를 결정해야 합니다. 이렇게 하려면 이러한 각 셀을 테스트하고 상대방의 접근 가능한 셀로 시야를 확인해야 합니다. 셀과 적의 셀 사이에 시야가 없으면 이동 중에도 이 셀을 타겟팅할 수 없습니다.

따라서 아이디어는 세포가 "안전하다"는 가설에서 시작하여 그 반대를 증명하려고 시도하는 것입니다. 그런 다음 시야가 없는 한 상대방의 각 셀을 테스트합니다. 시선이 존재하는 순간 적이 이 셀에 도달할 수 있음을 의미합니다. 물론 은신처 후보에 대한 "위험"을 수정하고 계산하여 상대에게 M-레이저 라인 샷의 가능성을 남겨두지 않는 것과 같이 가장 나쁜 것을 선택하는 것이 가능합니다.

녹색 사각형: 부추 / 빨간색 사각형: 상대 / 파란색 사각형: 상대의 액세스 가능한 셀 녹색선: 시야 없음 / 적색선: 시야