Expresiones de propiedades de FlexMatch - Amazon GameLift

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Expresiones de propiedades de FlexMatch

Las expresiones de propiedades se pueden utilizar para referirse a determinadas propiedades relacionadas con el emparejamiento. Le permiten utilizar los cálculos y la lógica al definir el valor de una propiedad. Las expresiones de propiedad suelen adoptar una de estas dos formas:

  • Datos de los jugadores individuales.

  • Recopilaciones calculadas de datos de jugadores individuales.

Expresiones comunes de propiedades de emparejamiento

Una expresión de propiedad identifica un valor específico para un jugador, equipo o emparejamiento. Las siguientes expresiones parciales ilustran cómo identificar equipos y jugadores:

Objetivo Input Significado Output
Para identificar un equipo específico en un emparejamiento: teams[red] El equipo rojo Equipo
Para identificar un conjunto de equipos específicos en un emparejamiento: teams[red,blue] El equipo rojo y el equipo azul List<Team>
Para identificar todos los equipos en un emparejamiento: teams[*] Todos los equipos List<Team>
Para identificar jugadores en un equipo específico: team[red].players Jugadores en el equipo rojo List<Player>
Para identificar jugadores en un conjunto de equipos específicos en un emparejamiento, realice el siguiente procedimiento: team[red,blue].players Jugadores en el emparejamiento, agrupados por equipo List<List<Player>>
Para identificar jugadores en un emparejamiento: team[*].players Jugadores en el emparejamiento, agrupados por equipo List<List<Player>>

Ejemplos de expresiones de propiedades

En la tabla siguiente se muestran algunas expresiones de propiedades que se basan en los ejemplos anteriores:

Expresión Significado Tipo resultante

teams[red].players[playerId]

ID de todos los jugadores del equipo rojo List<string>
teams[red].players.attributes[skill] Los atributos de "habilidad" de todos los jugadores del equipo rojo List<number>
teams[red,blue].players.attributes[skill] Los atributos de «habilidad» de todos los jugadores del equipo rojo y del equipo azul agrupados por equipo. List<List<number>>
teams[*].players.attributes[skill] Los atributos de "habilidad" de todos los jugadores del emparejamiento, agrupados por equipo List<List<number>>

Agregaciones de expresiones de propiedades

Pueden utilizarse expresiones de propiedades para agregar datos del equipo utilizando las siguientes funciones o combinaciones de funciones:

Agregación Input Significado Output
min List<number> Obtenga el mínimo de todos los números en la lista. número
max List<number> Obtenga el máximo de todos los números en la lista. número
avg List<number> Obtenga el promedio de todos los números en la lista. número
median List<number> Obtenga la mediana de todos los números en la lista. número
sum List<number> Obtenga la suma de todos los números en la lista. número
count List<?> Obtenga el número de elementos en la lista. número
stddev List<number> Obtenga la desviación estándar de todos los números en la lista. número
flatten List<List<?>> Convierta una colección de listas anidadas en una sola lista que contenga todos los elementos. List<?>
set_intersection List<List<string>> Obtenga una lista de cadenas que se encuentran en todas las listas de cadenas de una colección. List<string>
All above List<List<?>> Todas las operaciones de una lista anidada actúan en cada lista secundaria de manera individual para generar una lista de resultados. List<?>

La tabla siguiente ilustra algunas expresiones de propiedades válidas que utilizan funciones de agregación:

Expresión Significado Tipo resultante
flatten(teams[*].players.attributes[skill]) Los atributos de "habilidad" de todos los jugadores del emparejamiento (no agrupados) List<number>
avg(teams[red].players.attributes[skill]) Las habilidades promedio de todos los jugadores del equipo rojo número
avg(teams[*].players.attributes[skill]) La habilidad promedio de cada equipo en el emparejamiento List<number>
avg(flatten(teams[*].players.attributes[skill])) El nivel de habilidad promedio de todos los jugadores en el emparejamiento. Esta expresión obtiene una lista aplanada de las habilidades del jugador y, a continuación, hace un promedio. número
count(teams[red].players) El número de jugadores del equipo rojo número
count (teams[*].players) El número de jugadores de cada equipo en el emparejamiento List<number>
max(avg(teams[*].players.attributes[skill])) El nivel de habilidad más alto del equipo en el emparejamiento número