Exemplo: compare os atributos de todos os jogadores - Amazon GameLift

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: compare os atributos de todos os jogadores

Este exemplo ilustra como comparar os atributos do jogador em um grupo de jogadores.

O conjunto de regras de exemplo descreve uma correspondência com as seguintes características:

  • Estrutura da equipe: duas equipes de jogadores únicos

  • Atributos do jogador:

    • gameMode: tipo de jogo escolhido pelo jogador (se não for fornecido, o valor padrão será "turn-based").

    • gameMap: mundo do jogo escolhido pelo jogador (se não for fornecido, o valor padrão será 1).

    • character: o personagem escolhido pelo jogador (se não houver nenhum valor padrão, significa que os jogadores precisarão especificar um personagem).

  • Regras de jogo: os jogadores correspondentes precisam atender aos seguintes requisitos:

    • Os jogadores devem escolher o mesmo modo de jogo.

    • Os jogadores devem escolher o mesmo mapa de jogo.

    • Os jogadores precisam escolher personagens diferentes.

Observações sobre como usar o conjunto de regras:

  • Para implementar a regra de correspondência, este exemplo usa regras de comparação de modo a verificar os valores de atributos de todos os jogadores. Para modo de jogo e mapa, a regra verifica se os valores são os mesmos. Para caractere, a regra verifica se os valores são diferentes.

  • Este exemplo usa uma definição de jogador com uma propriedade de quantidade para criar as duas equipes de jogadores. Eles recebem os nomes: "jogador_1" e "jogador_2".

{ "name": "", "ruleLanguageVersion": "1.0", "playerAttributes": [{ "name": "gameMode", "type": "string", "default": "turn-based" }, { "name": "gameMap", "type": "number", "default": 1 }, { "name": "character", "type": "number" }], "teams": [{ "name": "player", "minPlayers": 1, "maxPlayers": 1, "quantity": 2 }], "rules": [{ "name": "SameGameMode", "description": "Only match players when they choose the same game type", "type": "comparison", "operation": "=", "measurements": ["flatten(teams[*].players.attributes[gameMode])"] }, { "name": "SameGameMap", "description": "Only match players when they're in the same map", "type": "comparison", "operation": "=", "measurements": ["flatten(teams[*].players.attributes[gameMap])"] }, { "name": "DifferentCharacter", "description": "Only match players when they're using different characters", "type": "comparison", "operation": "!=", "measurements": ["flatten(teams[*].players.attributes[character])"] }] }