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
Dieses Beispiel zeigt, wie Sie einen Regelsatz für Spiele einrichten, bei denen zwei Teams verwendencompound. Im Beispiel:
-
Die
SimilarLeagueDistanceRegel stellt sicher, dass alle Spieler in einem Spiel einen Abstandleaguevon weniger als 2 anderen Spielern haben. -
Die
SimilarSkillDistanceRegel stellt sicher, dass alle Spieler in einem Spiel einen Abstand vonskillhö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
SameMapComparisonRegel stellt sicher, dass alle Spieler in einem Spiel dasselbe angefordert habenmap. -
Die
SameModeComparisonRegel stellt sicher, dass alle Spieler in einem Spiel dasselbe verlangt habenmode. -
Die
CompoundRuleMatchmakerRegel stellt sicher, dass ein Spiel stattfindet, wenn mindestens eine der folgenden Bedingungen erfüllt ist:-
Spieler in einem Spiel haben dasselbe
mapund dasselbe verlangtmode. -
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 }] }] }