

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 示例：创建使用玩家屏蔽名单的规则
<a name="match-examples-11"></a>

此示例说明了一个规则集，该规则集允许玩家避免与某些其他玩家对战。玩家可以创建屏蔽名单，对战构建器在为对战选择玩家时对其进行评估。有关添加屏蔽名单或避免列表特征的更多指导，参阅 [AWS 游戏博客](https://aws.amazon.com/blogs/gametech/category/game-development/amazon-gamelift/)。

此方案规定了以下说明：
+ 创建两支由五名玩家组成的队伍。
+ 传入玩家的屏蔽名单，即玩家名单 IDs （最多 100 个）。
+ 将所有玩家与每位玩家的屏蔽名单进行比较，如果发现任何被封锁的玩家， IDs 则拒绝提议的对战。

使用此规则集的说明：
+ 在评估新玩家以加入拟议的对战（或填补现有对战中的位置）时，该玩家可能会因为以下任一原因而被拒绝：
  + 如果新玩家出现在任何已被选中参加对战的玩家的屏蔽名单上。
  + 如果新玩家的屏蔽名单上有已经被选中参加对战的玩家。
+ 如图所示，该规则集禁止将玩家与其屏蔽名单上的任何玩家进行匹配。您可以通过添加规则扩展并增加该`maxCount`值来将此要求更改为首选项（也称为“避免列表）。

```
{
    "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
    }]
}
```