參考:比較所有玩家的屬性 - Amazon GameLift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

參考:比較所有玩家的屬性

此範例說明如何在一組玩家之間比較玩家的屬性。

範例規則集利用下列的角色來說明配對:

  • 隊伍結構:兩個單一玩家的隊伍

  • 玩家屬性:

    • gameMode:播放器選擇的遊戲類型 (若未提供,預設為「迴轉」)。

    • gameMap:玩家選擇的遊戲世界 (若未提供,預設為 1)。

    • character (角色):玩家所選擇的角色 (無預設值表示玩家必須指定角色)。

  • 配對規則:配對的玩家必須符合下列要求:

    • 玩家必須選擇相同的遊戲模式。

    • 玩家必須選擇相同的遊戲地圖。

    • 玩家必須選擇不同的角色。

使用此規則集的注意事項:

  • 為了實行配對規則,此範例使用比較規則來檢查所有玩家的屬性值。針對遊戲模式和地圖,該規則會驗證值是否相同。針對角色,該規則會驗證值是否不同。

  • 此範例使用一個有數量屬性的玩家定義來建立這兩個玩家隊伍。隊伍會獲得以下名稱:「player_1」和「player_2」。

{ "name": "", "ruleLanguageVersion": "1.0", "playerAttributes": [{ "name": "gameMode", "type": "string", "default": "turn-based" }, { "name": "gameMap", "type": "number", "default": 1 }, { "name": "character", "type": "number" }], "teams": [{ "name": "player", "minPlayers": 1, "maxPlayers": 1, "quantity": 2 }], "rules": [{ "name": "SameGameMode", "description": "Only match players when they choose the same game type", "type": "comparison", "operation": "=", "measurements": ["flatten(teams[*].players.attributes[gameMode])"] }, { "name": "SameGameMap", "description": "Only match players when they're in the same map", "type": "comparison", "operation": "=", "measurements": ["flatten(teams[*].players.attributes[gameMap])"] }, { "name": "DifferentCharacter", "description": "Only match players when they're using different characters", "type": "comparison", "operation": "!=", "measurements": ["flatten(teams[*].players.attributes[character])"] }] }