ds_priority_find_priority 함수 설명
ds_priority_find_priority
함수는 주어진 값의 우선 순위를 검색하는 데 사용됩니다. 만약 해당 값이 우선 순위 큐에 존재하지 않는다면 undefined
가 반환됩니다.
문법
ds_priority_find_priority(id, val);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
id | DS Priority ID | 사용할 우선 순위 큐의 핸들 |
val | Any | 우선 순위를 찾고자 하는 값 |
반환값
- Real 또는 undefined
예제
p = ds_priority_find_priority(ai_priority, "intelligence");
위 코드는 주어진 값의 우선 순위를 인스턴스 변수 "p"에 저장합니다.
활용 및 응용 예제
- 우선 순위 큐에서 특정 값의 우선 순위 확인하기
gml var priority = ds_priority_find_priority(my_priority_queue, "task1"); if (priority != undefined) { show_message("우선 순위: " + string(priority)); } else { show_message("값이 존재하지 않습니다."); }
- 우선 순위 큐에 여러 값 추가 후 우선 순위 확인하기
gml ds_priority_add(my_priority_queue, "task1", 1); ds_priority_add(my_priority_queue, "task2", 2); var priority_task1 = ds_priority_find_priority(my_priority_queue, "task1"); var priority_task2 = ds_priority_find_priority(my_priority_queue, "task2");
- 우선 순위 큐에서 값이 존재하는지 확인하기
gml var value_to_check = "task3"; if (ds_priority_find_priority(my_priority_queue, value_to_check) != undefined) { show_message(value_to_check + "는 큐에 존재합니다."); } else { show_message(value_to_check + "는 큐에 존재하지 않습니다."); }
- 우선 순위 큐의 모든 값과 우선 순위 출력하기
gml var count = ds_priority_size(my_priority_queue); for (var i = 0; i < count; i++) { var value = ds_priority_find_value(my_priority_queue, i); var priority = ds_priority_find_priority(my_priority_queue, value); show_message("값: " + value + ", 우선 순위: " + string(priority)); }
- 우선 순위 큐에서 특정 값의 우선 순위를 변경하기
gml var current_priority = ds_priority_find_priority(my_priority_queue, "task1"); if (current_priority != undefined) { ds_priority_change_priority(my_priority_queue, "task1", current_priority + 1); }
이와 같이 ds_priority_find_priority
함수를 활용하여 우선 순위 큐에서 값의 우선 순위를 쉽게 확인하고 조작할 수 있습니다.