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 ähnlicher Auswahl zu erstellen
Dieses Beispiel veranschaulicht, wie ein Regelsatz für Spiele mit zwei Teams mithilfe compound von... eingerichtet wird. Im Beispiel:
-
Die
SimilarLeagueDistanceRegel stellt sicher, dass alle Spieler in einem Spielleagueweniger als 2 von anderen Spielern haben. -
Die
SimilarSkillDistanceRegel stellt sicher, dass alle Spieler in einem Spiel einen Abstandskillvon 10 gegenüber anderen Spielern haben. Wenn ein Spieler 10 Sekunden gewartet hat, wird die Entfernung auf 20 erweitert. Wenn ein Spieler 20 Sekunden gewartet hat, wird die Entfernung auf 40 erweitert. -
Die
SameMapComparisonRegel stellt sicher, dass alle Spieler in einem Spiel dieselbe Anfrage gestellt habenmap. -
Die
SameModeComparisonRegel stellt sicher, dass alle Spieler in einem Spiel dasselbe angefordert habenmode. -
Die
CompoundRuleMatchmakerRegel stellt sicher, dass ein Spiel stattfindet, wenn mindestens eine der folgenden Bedingungen zutrifft:-
Spieler in einem Spiel haben dasselbe
mapund dasselbe angefordertmode. -
Spieler in einem Spiel haben
skillvergleichbareleagueEigenschaften.
-
{ "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 }] }] }