Esempio: crea una regola che utilizza la lista dei blocchi di un giocatore - Amazon GameLift Servers

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempio: crea una regola che utilizza la lista dei blocchi di un giocatore

Questo esempio illustra un set di regole che consente ai giocatori di evitare di essere abbinati a determinati altri giocatori. I giocatori possono creare una lista di blocco, che il matchmaker valuta durante la selezione dei giocatori per una partita. Per ulteriori informazioni su come aggiungere una lista di blocco o evitare la funzione di elenco, consulta Games AWS Blog.

Questo esempio riporta le seguenti istruzioni:

  • Crea due squadre composte esattamente da cinque giocatori.

  • Inserisci la lista di blocco di un giocatore, che è una lista di giocatori IDs (fino a 100).

  • Confronta tutti i giocatori con la lista di blocco di ogni giocatore e rifiuta una partita proposta se IDs ne trovi uno bloccato.

Note sull'utilizzo di questo set di regole:

  • Quando si valuta un nuovo giocatore da aggiungere a una partita proposta (o per recuperare un posto in una partita esistente), il giocatore potrebbe essere respinto per uno dei seguenti motivi:

    • Se il nuovo giocatore è in una lista di blocco per tutti i giocatori che sono già stati selezionati per la partita.

    • Se alcuni giocatori già selezionati per la partita sono nella lista di blocco del nuovo giocatore.

  • Come mostrato, questo set di regole impedisce di abbinare un giocatore a qualsiasi giocatore nella sua lista di blocco. Puoi modificare questo requisito in una preferenza (chiamata anche lista «da evitare») aggiungendo un'espansione della regola e aumentando il maxCount valore.

{ "name": "Player Block List", "ruleLanguageVersion": "1.0", "teams": [{ "maxPlayers": 5, "minPlayers": 5, "name": "red" }, { "maxPlayers": 5, "minPlayers": 5, "name": "blue" }], "playerAttributes": [{ "name": "BlockList", "type": "string_list", "default": [] }], "rules": [{ "name": "PlayerIdNotInBlockList", "type": "collection", "operation": "reference_intersection_count", "measurements": "flatten(teams[*].players.attributes[BlockList])", "referenceValue": "flatten(teams[*].players[playerId])", "maxCount": 0 }] }