JSFiddle - React, Tailwind, and code Playground

CCG Deck Rating Test

by skibulk

JavaScript

var cards = [
  // Engine Major Version
  // Engine Minor Version
  // Pack ID
  // Pack Key 999.999
  // Card ID 999
  [0, 3, 3, 3813, 14],
  [0, 3, 5, 4015, 22],
  [0, 3, 5, 4392, 834],
  [1, 5, 5, 4401, 901],
  [0, 0, 1, 1205, 332],
  [0, 1, 1, 2429, 345],
  [0, 1, 2, 2611, 210],
  [1, 5, 5, 5458, 19],
  [1, 6, 12, 6225, 130],
  [1, 6, 13, 8166, 973],
  [2, 1, 110, 15638, 901],
  [2, 1, 112, 19007, 924],
  [2, 2, 112, 100978, 455],
  [1, 6, 13, 8238, 96],
  [1, 6, 17, 8547, 301],
  [1, 6, 17, 9343, 288],
  [1, 6, 17, 10675, 267],
  [1, 8, 17, 11685, 712],
  [2, 1, 110, 13841, 222],
  [2, 1, 110, 14125, 823],
];

var currentEngine = 2;

var i;
var score = 0;

// Sort by Pack IDs
cards.sort(
	function (a, b)
	{
		return a[2] - b[2];
	}
);

var packID = cards[0][2];

for ( var i = 0; i < cards.length; i++ )
{
  // Cluster cards within 5 consecutive packs
  // Score += 1 for each cluster after the first
	if ( cards[i][2] - packID > 5 )
  {
  	packID = cards[i][2];
    score += 5;
  }
  
  // Score += 1 for each major version below the current version
  score += currentEngine - cards[i][0];
}

console.log( score );