FlexMatch 속성 표현식 - 아마존 GameLift

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

FlexMatch 속성 표현식

속성 표현식은 매치메이킹과 관련된 특정 속성을 참조하는 데 사용할 수 있습니다. 이를 통해 속성 값을 정의할 때 계산과 로직을 사용할 수 있습니다. 속성 표현식의 결과는 일반적으로 다음 두 가지 형식 중 하나를 취합니다.

  • 개별 플레이어 데이터.

  • 개별 플레이어 데이터의 계산된 컬렉션.

일반적인 매치메이킹 속성 표현식.

속성 표현식은 플레이어, 팀 또는 매치의 특정 값을 식별합니다. 다음의 부분 표현식이 팀 및 플레이어 식별 방식을 설명합니다.

목표 입력 의미 출력
매치에서 특정 팀을 식별하는 방법: teams[red] 레드 팀
매치에서 특정 팀 집합을 식별하는 방법: teams[red,blue] Red 팀 및 Blue 팀 List<Team>
매치에서 모든 팀을 식별하는 방법: teams[*] 모든 팀 List<Team>
특정 팀에서 플레이어를 식별하는 방법: team[red].players Red 팀에 있는 플레이어 List<Player>
매치의 특정 팀 집합에서 플레이어를 식별하는 방법: team[red,blue].players 매치에 속한 플레이어의 팀별 그룹화 List<List<Player>>
매치에서 플레이어를 식별하는 방법: team[*].players 매치에 속한 플레이어의 팀별 그룹화 List<List<Player>>

속성 표현식 예제

다음 표는 이전 예제를 바탕으로 구축되는 일부 속성 표현식을 나타낸 것입니다.

표현식 의미 결과 유형

teams[red].players[playerId]

레드 팀에 속한 모든 플레이어의 플레이어 ID List<string>
teams[red].players.attributes[skill] 레드 팀에 속한 모든 플레이어의 "스킬" 속성 List<number>
teams[red,blue].players.attributes[skill] Red 팀과 Blue 팀에 속한 모든 플레이어의 “skill” 속성(팀별로 그룹화) List<List<number>>
teams[*].players.attributes[skill] 매치에 속한 모든 플레이어(팀별 그룹화)의 "스킬" 속성 List<List<number>>

속성 표현식 집계

속성 표현식은 다음 함수 또는 함수 조합을 사용하여 팀 데이터를 집계하는 데 사용할 수 있습니다.

집계 입력 의미 출력
min List<number> 목록에 있는 모든 수의 최소값을 구합니다. 숫자
max List<number> 목록에 있는 모든 수의 최대값을 구합니다. 숫자
avg List<number> 목록에 있는 모든 수의 평균을 구합니다. 숫자
median List<number> 목록에 있는 모든 수의 중간값을 구합니다. 숫자
sum List<number> 목록에 있는 모든 수의 합계를 구합니다. 숫자
count List<?> 목록에 있는 원소의 수를 구합니다. 숫자
stddev List<number> 목록에 있는 모든 수의 표준편차를 구합니다. 숫자
flatten List<List<?>> 중첩된 목록의 컬렉션을 모든 원소를 포함하는 단일 목록으로 변환합니다. List<?>
set_intersection List<List<string>> 모음에 있는 모든 문자열 목록에서 확인된 문자열의 목록을 가져옵니다. List<string>
모두 해당 List<List<?>> 중첩된 목록 상의 모든 연산이 각 하위 목록에서 개별적으로 이루어져 결과 목록을 산출합니다. List<?>

다음 표는 집계 함수를 사용하는 일부 유효한 속성 표현식을 나타낸 것입니다.

표현식 의미 결과 유형
flatten(teams[*].players.attributes[skill]) 매치에 속한 모든 플레이어(그룹화되지 않음)의 "스킬" 속성 List<number>
avg(teams[red].players.attributes[skill]) 레드 팀 플레이어의 평균 스킬 숫자
avg(teams[*].players.attributes[skill]) 매치에 속한 각 팀의 평균 스킬 List<number>
avg(flatten(teams[*].players.attributes[skill])) 매치에 속한 모든 플레이어의 평균 스킬 레벨입니다. 이 표현식은 평면화된 플레이어 스킬 목록을 구한 다음 평균합니다. 숫자
count(teams[red].players) 레드 팀에 있는 플레이어의 수 숫자
count (teams[*].players) 매치에 속한 각 팀의 플레이어 수 List<number>
max(avg(teams[*].players.attributes[skill])) 매치에서 가장 높은 팀 스킬 레벨 숫자