

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Exemplo: use uma classificação explícita para encontrar as melhores correspondências
<a name="match-examples-4"></a>

Este exemplo configura uma correspondência simples com duas equipes de três jogadores. Ele ilustra como usar as regras de classificação explícitas para ajudar a encontrar as melhores correspondências o mais rápido possível. Essas regras classificam todos os tíquetes de criação de partidas ativos para criar as melhores correspondências com base em determinadas exigências principais. Este exemplo é implementado com as seguintes instruções:
+ Crie duas equipes de jogadores.
+ Inclua exatamente três jogadores em cada equipe.
+ Inclua os atributos de jogador a seguir:
  + Nível de experiência (se não for fornecido, o padrão é 50).
  + Modos de jogo preferidos (pode listar vários valores) (se não forem fornecidos, os padrões são “cooperação” e “combate mortal”).
  + Mapas de jogo preferidos, incluindo o nome do mapa e ponderação preferida (se não for fornecido, o padrão é `"defaultMap"` com um peso 100).
+ Configurar pré-classificação:
  + Classifique os jogadores com base na preferência pelo mesmo mapa de jogo que o jogador âncora. Os jogadores podem ter vários mapas de jogo favoritos, portanto, este exemplo usa um valor preferencial. 
  + Classifique os jogadores com base na proximidade do nível de experiência deles com a do jogador âncora. Com essa classificação, todos os jogadores em todas as equipes terão níveis de experiência o mais próximos possíveis. 
+ Todos os jogadores em todas as equipes precisam ter selecionado pelo menos um modo de jogo em comum.
+ Todos os jogadores em todas as equipes precisam ter selecionado pelo menos um mapa de jogo em comum. 

Observações sobre como usar o conjunto de regras: 
+ A classificação do mapa de jogo usa uma classificação absoluta que compara o valor do atributo mapPreference. Como é o primeiro no conjunto de regras, esse tipo é realizado primeiro. 
+ A classificação da experiência usa uma classificação de distância para comparar um nível de habilidade do jogador em potencial com a habilidade do jogador âncora. 
+ As classificações são feitas na ordem que são listadas em um conjunto de regras. Neste cenário, os jogadores são classificados pela preferência de mapa de jogo e depois pelo nível de experiência. 

```
{
    "name": "multi_map_game",
    "ruleLanguageVersion": "1.0",
    "playerAttributes": [{
        "name": "experience",
        "type": "number",
        "default": 50
    }, {
        "name": "gameMode",
        "type": "string_list",
        "default": [ "deathmatch", "coop" ]
    }, {
        "name": "mapPreference",
        "type": "string_number_map",
        "default": { "defaultMap": 100 }
    }, {
        "name": "acceptableMaps",
        "type": "string_list",
        "default": [ "defaultMap" ]
    }],
    "teams": [{
        "name": "red",
        "maxPlayers": 3,
        "minPlayers": 3
    }, {
        "name": "blue",
        "maxPlayers": 3,
        "minPlayers": 3
    }],
    "rules": [{
        // We placed this rule first since we want to prioritize players preferring the same map
        "name": "MapPreference",
        "description": "Favor grouping players that have the highest map preference aligned with the anchor's favorite",
        // This rule is just for sorting potential matches.  We sort by the absolute value of a field.
        "type": "absoluteSort",
        // Highest values go first
        "sortDirection": "descending",
        // Sort is based on the mapPreference attribute.
        "sortAttribute": "mapPreference",
        // We find the key in the anchor's mapPreference attribute that has the highest value.
        // That's the key that we use for all players when sorting.
        "mapKey": "maxValue"
    }, {
        // This rule is second because any tie-breakers should be ordered by similar experience values
        "name": "ExperienceAffinity",
        "description": "Favor players with similar experience",
        // This rule is just for sorting potential matches.  We sort by the distance from the anchor.
        "type": "distanceSort",
        // Lowest distance goes first
        "sortDirection": "ascending",
        "sortAttribute": "experience"
    }, {
        "name": "SharedMode",
        "description": "The players must have at least one game mode in common",
        "type": "collection",
        "operation": "intersection",
        "measurements": [ "flatten(teams[*].players.attributes[gameMode])"],
        "minCount": 1
    }, {
        "name": "MapOverlap",
        "description": "The players must have at least one map in common",
        "type": "collection",
        "operation": "intersection",
        "measurements": [ "flatten(teams[*].players.attributes[acceptableMaps])"],
        "minCount": 1
    }]
}
```