nextRound = ()=> {
mutable round++;
console.log("Next Round "+round);
let b = [];
let newRound = [...players];
newRound = newRound.sort((a,b)=> latestRating(a.key) - latestRating(b.key)).reverse();
let possibilities = [];
newRound.forEach((a,i) => {
newRound.forEach((b,j) => {
if (i<=j) return;
possibilities.push({
playerA:a,
playerB:b,
battles: battleCount(a.key,b.key),
rating: Math.max(latestRating(a.key),latestRating(b.key)),
difference:Math.abs(latestRating(a.key)-latestRating(b.key))});
})
})
possibilities = possibilities.sort((a,b)=> {
return a.battles!=b.battles ? a.battles-b.battles : a.difference!= b.difference ? a.difference-b.difference : b.rating-a.rating;
});
console.log(possibilities);
while (possibilities.length>0) {
const pA = possibilities[0].playerA;
const pB = possibilities[0].playerB;
b.push({playerA:pA,playerB:pB,result:null, timestamp:null});
console.log(possibilities);
console.log([pA,pB]);
possibilities = possibilities.filter(d=> ![pA.key,pB.key].includes(d.playerA.key) && ![pA.key,pB.key].includes(d.playerB.key));
console.log(possibilities);
}
return b;
}