[TIL] 2025-05-20 알고리즘 문제, 자극 센서 제거, 스탯 구현
2025-05-20 TIL
알고리즘 문제
이분 탐색이라는 개념을 이전에 몇 번 학습을 해보았었는데, 알고리즘 문제에서 응용하여 사용해보려고 하니 어려웠습니다.
결과적으로 문제를 직접 풀어내지는 못했고, 답을 찾아보았습니다.
그렇기 때문에 후에 복습의 용도로 문제를 꼭 다시 풀어보고자 합니다.
[프로그래머스][C++] 입국심사
최종 프로젝트
오늘은 UAIPerceptionStimuliSourceComponent
에 등록했던 자극 센서를 모두 제거하도록 로직을 추가했습니다.
이외에 플레이어 캐릭터에 스탯 개념으로서 관련된 변수를 추가하고, 특정 스탯이 음수값이 되지 않도록 하는 등의 값에 범위를 지정해주었습니다.
자극 센서 제거
해당 작업을 수행하게된 이유는 적 AI가 플레이어 캐릭터를 계속 추적한다는 문제로 인해 UAIPerceptionStimuliSourceComponent
에 등록했던 자극 센서를 플레이어 캐릭터가 사망하게 됐을 때 등록된 자극 센서를 모두 제거하도록 했습니다.
이 결과로 적 AI가 플레이어 캐릭터가 사망했을 때, 더이상 발견하지 못하도록 해주었습니다.
하지만 자극 센서가 제거되기 전에 플레이어 캐릭터가 발견되고, AI가 추적중이었다면 해당 추적 상태가 유지되는 문제가 있었습니다.
이 문제는 이미 발생한 자극에 의해 AI의 블랙보드에 값이 저장되고, AI의 상태가 유지되기 때문인 것 같습니다.
이 부분은 플레이어 캐릭터에서 더이상 로직을 수정할 수 없는 부분이라고 판단해서 AI를 담당하고있는 팀원에게 문제와 추측한 내용을 전달하여 마무리했습니다.
스탯 구현
플레이어 캐릭터에 체력, 이동속도, 공격속도 등의 간단한 변수를 추가하고, 해당 변수를 반환하거나 값을 수정하는 함수를 추가해보았습니다.
해당 값들이 음수값이 되는 경우 문제들이 발생합니다.
대표적으로 공격속도의 경우 애니메이션의 재생속도에 사용되기 때문에, 음수가 된다면 애니메이션이 역재생되는 문제가 발생할 수 있습니다.
그렇기 때문에 변수의 값을 수정할 때 음수가 되거나 체력의 경우 최대 체력을 넘지 못하도록 값에 범위들을 설정해주었습니다.
댓글남기기