

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 例: プレイヤーのブロックリストを使用するルールを作成する
<a name="match-examples-11"></a>

この例は、プレーヤーが他の特定のプレーヤーとマッチングされないようにするルールセットを示しています。プレイヤーはブロックリストを作成できます。ブロックリストは、マッチのプレイヤー選択時にマッチメーカーが評価します。ブロックリストまたは回避リスト機能の追加に関する詳しいガイダンスについては、「[AWS for Games ブログ](https://aws.amazon.com/blogs/gametech/category/game-development/amazon-gamelift/)」を参照してください。

この例では、以下の手順を開始します。
+ 正確に 5 人のプレイヤーで構成される 2 つのチームを作成します。
+ プレイヤー ID (最大 100 個) のリストであるプレイヤーのブロックリストを渡します。
+ 全プレイヤーを各プレイヤーのブロックリストと比較し、ブロックされたプレイヤー ID が見つかった場合はマッチを拒否します。

このルールセットの使用に関する注意事項 
+ 新規プレイヤーを評価して提案されたマッチに追加する (または既存のマッチでポジションをバックフィルする) 場合、そのプレイヤーは以下のいずれかの理由で拒否されることがあります。
  + その新規プレイヤーが、すでにマッチに選ばれているプレイヤーのブロックリストに載っている場合。
  + マッチにすでに選ばれているプレイヤーが新しいプレイヤーのブロックリストに載っている場合。
+ このように、このルールセットでは、ブロックリストにあるどのプレイヤーともプレイヤーをマッチングさせません。ルール拡張を追加して `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
    }]
}
```