

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Beispiel: Verwende eine zusammengesetzte Regel, um ein Spiel mit Spielern mit ähnlichen Attributen oder ähnlichen Auswahlen zu erstellen
<a name="match-examples-10"></a>

Dieses Beispiel zeigt, wie Sie einen Regelsatz für Spiele einrichten, bei denen zwei Teams verwenden`compound`. Im Beispiel: 
+ Die `SimilarLeagueDistance` Regel stellt sicher, dass alle Spieler in einem Spiel einen Abstand `league` von weniger als 2 anderen Spielern haben. 
+ Die `SimilarSkillDistance` Regel stellt sicher, dass alle Spieler in einem Spiel einen Abstand von `skill` höchstens 10 anderen Spielern haben. Wenn ein Spieler 10 Sekunden gewartet hat, wird die Entfernung auf 20 erhöht. Wenn ein Spieler 20 Sekunden gewartet hat, wird die Entfernung auf 40 erhöht. 
+ Die `SameMapComparison` Regel stellt sicher, dass alle Spieler in einem Spiel dasselbe angefordert haben`map`. 
+ Die `SameModeComparison` Regel stellt sicher, dass alle Spieler in einem Spiel dasselbe verlangt haben`mode`. 
+ Die `CompoundRuleMatchmaker` Regel stellt sicher, dass ein Spiel stattfindet, wenn mindestens eine der folgenden Bedingungen erfüllt ist: 
  + Spieler in einem Spiel haben dasselbe `map` und dasselbe verlangt`mode`.
  + Spieler in einem Spiel haben `skill` vergleichbare `league` Eigenschaften.

```
{
    "ruleLanguageVersion": "1.0",
    "teams": [{
        "name": "red",
        "minPlayers": 10,
        "maxPlayers": 20
    }, {
        "name": "blue",
        "minPlayers": 10,
        "maxPlayers": 20
    }],
    "algorithm": {
        "strategy":"balanced",
        "balancedAttribute": "skill",
        "batchingPreference":"fastestRegion"
    },
    "playerAttributes": [{
        "name": "league",
        "type": "number"
    },{
        "name": "skill",
        "type": "number"
    },{
        "name": "map",
        "type": "string"
    },{
        "name": "mode",
        "type": "string"
    }],
    "rules": [{
        "name": "SimilarLeagueDistance",
        "type": "distance",
        "measurements": ["max(flatten(teams[*].players.attributes[league]))"],
        "referenceValue": "min(flatten(teams[*].players.attributes[league]))",
        "maxDistance": 2
    }, {
        "name": "SimilarSkillDistance",
        "type": "distance",
        "measurements": ["max(flatten(teams[*].players.attributes[skill]))"],
        "referenceValue": "min(flatten(teams[*].players.attributes[skill]))",
        "maxDistance": 10
    }, {
        "name": "SameMapComparison",
        "type": "comparison",
        "operation": "=",
        "measurements": ["flatten(teams[*].players.attributes[map])"]
    }, {
        "name": "SameModeComparison",
        "type": "comparison",
        "operation": "=",
        "measurements": ["flatten(teams[*].players.attributes[mode])"]
    }, {
        "name": "CompoundRuleMatchmaker",
        "type": "compound",
        "statement": "or(and(SameMapComparison, SameModeComparison), and(SimilarSkillDistance, SimilarLeagueDistance))"
    }],
    "expansions": [{
        "target": "rules[SimilarSkillDistance].maxDistance",
        "steps": [{
            "waitTimeSeconds": 10,
            "value": 20
        }, {
            "waitTimeSeconds": 20,
            "value": 40
        }]
    }]
}
```