Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh: Buat dua tim dengan pemain yang serasi
Contoh ini menggambarkan cara mengatur dua tim pemain yang sama-sama cocok dengan instruksi berikut.
-
Buat dua tim pemain.
-
Sertakan antara empat dan delapan pemain di setiap tim.
-
Tim final harus memiliki jumlah pemain yang sama.
-
-
Sertakan tingkat keterampilan pemain (jika tidak disediakan, default untuk 10).
-
Pilih pemain berdasarkan kemiripan tingkat keterampilan mereka dengan pemain lain. Pastikan kedua tim memiliki keterampilan pemain rata-rata dalam jarak 10 poin satu sama lain.
-
Jika pertandingan tidak diisi dengan cepat, longgarkan persyaratan keterampilan pemain untuk menyelesaikan pertandingan dalam waktu yang wajar.
-
Setelah 5 detik, perluas pencarian untuk memungkinkan tim dengan keterampilan pemain rata-rata dalam 50 poin.
-
Setelah 15 detik, perluas pencarian untuk memungkinkan tim dengan keterampilan pemain rata-rata dalam 100 poin.
-
Catatan tentang penggunaan set aturan ini:
-
Contoh ini memungkinkan tim memiliki ukuran antara empat dan delapan pemain (walaupun ukurannya harus sama). Untuk tim dengan berbagai ukuran yang valid, pembuat kecocokan melakukan upaya terbaik untuk mencocokkan jumlah maksimum pemain yang diizinkan.
-
Aturan
FairTeamSkill
aturan memastikan bahwa tim dicocokkan secara merata berdasarkan keterampilan pemain. Untuk mengevaluasi aturan ini untuk setiap calon pemain baru, FlexMatch sementara menambahkan pemain ke tim dan menghitung rata-rata. Jika aturan gagal, calon pemain tidak ditambahkan ke kecocokan. -
Karena kedua tim memiliki struktur yang identik, Anda dapat memilih untuk membuat hanya satu definisi tim dan mengatur jumlah tim ke "2". Dalam skenario ini, jika Anda menamai tim "alien", maka tim Anda akan diberi nama "alien_1" dan "alien_2".
{ "name": "aliens_vs_cowboys", "ruleLanguageVersion": "1.0", "playerAttributes": [{ "name": "skill", "type": "number", "default": 10 }], "teams": [{ "name": "cowboys", "maxPlayers": 8, "minPlayers": 4 }, { "name": "aliens", "maxPlayers": 8, "minPlayers": 4 }], "rules": [{ "name": "FairTeamSkill", "description": "The average skill of players in each team is within 10 points from the average skill of all players in the match", "type": "distance", // get skill values for players in each team and average separately to produce list of two numbers "measurements": [ "avg(teams[*].players.attributes[skill])" ], // get skill values for players in each team, flatten into a single list, and average to produce an overall average "referenceValue": "avg(flatten(teams[*].players.attributes[skill]))", "maxDistance": 10 // minDistance would achieve the opposite result }, { "name": "EqualTeamSizes", "description": "Only launch a game when the number of players in each team matches, e.g. 4v4, 5v5, 6v6, 7v7, 8v8", "type": "comparison", "measurements": [ "count(teams[cowboys].players)" ], "referenceValue": "count(teams[aliens].players)", "operation": "=" // other operations: !=, <, <=, >, >= }], "expansions": [{ "target": "rules[FairTeamSkill].maxDistance", "steps": [{ "waitTimeSeconds": 5, "value": 50 }, { "waitTimeSeconds": 15, "value": 100 }] }] }